{"version":3,"file":"js/vendors-node_modules_bootstrap-fileinput_js_fileinput_js-node_modules_bootstrap-fileinput_js_-a4d5c9.a4a9a8976e82ebb72a68.js","mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,CAAC,yEAAQ,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,kGAAC;AAC/B,IAAI,KAAK,EAIN;AACH,CAAC;AACD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,YAAY;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB,GAAG,gBAAgB;AAC7D;AACA;AACA;AACA;AACA,mBAAmB,OAAO,GAAG,MAAM,kBAAkB,KAAK;AAC1D;AACA,4DAA4D,QAAQ;AACpE;AACA;AACA;AACA;AACA,sDAAsD,UAAU;AAChE,oDAAoD,GAAG;AACvD;AACA;AACA,iDAAiD,OAAO,KAAK,SAAS,aAAa,MAAM;AACzF,4EAA4E,MAAM;AAClF,oEAAoE,EAAE;AACtE,0EAA0E,EAAE;AAC5E;AACA,mEAAmE,IAAI;AACvE,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,2DAA2D;AAC3D,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,wDAAwD,6BAA6B;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA,4DAA4D;AAC5D;AACA,qFAAqF,eAAe;AACpG;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT,6CAA6C;AAC7C;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,4BAA4B;AAC5B,4BAA4B;AAC5B,8BAA8B;AAC9B,8BAA8B;AAC9B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,YAAY;AACZ;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,cAAc;AACd;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;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,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC,6CAA6C;AAC7C,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,MAAM;AAChD,8CAA8C,MAAM;AACpD,+CAA+C,MAAM;AACrD,kDAAkD,MAAM;AACxD,+CAA+C,MAAM;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,MAAM;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,YAAY;AACZ;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,0BAA0B,SAAS;AACnC;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,2BAA2B;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,2EAA2E;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,gDAAgD,cAAc;AAC9D;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,UAAU;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,oBAAoB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,iDAAiD,cAAc,GAAG;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B,oBAAoB,KAAK;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,UAAU,QAAQ;AAClB;AACA,mCAAmC,MAAM;AACzC,oCAAoC,gBAAgB;AACpD,gBAAgB,QAAQ;AACxB;AACA,gBAAgB,OAAO;AACvB,gBAAgB,OAAO;AACvB,gBAAgB,MAAM;AACtB,gBAAgB,OAAO;AACvB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA,UAAU,QAAQ;AAClB,uBAAuB,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO;AACrE;AACA,mCAAmC,MAAM;AACzC,YAAY,MAAM;AAClB,wBAAwB,WAAW;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,MAAM;AAC/E;AACA;AACA,wBAAwB,KAAK,UAAU,MAAM,UAAU,IAAI,QAAQ,SAAS,eAAe,EAAE,OAAO,MAAM;AAC1G;AACA,4BAA4B,KAAK,UAAU,MAAM,UAAU,IAAI,GAAG,SAAS,eAAe,EAAE,OAAO,MAAM;AACzG;AACA,iCAAiC,IAAI,GAAG,SAAS,eAAe,EAAE,OAAO,MAAM;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe;AAC3B;AACA,2CAA2C,IAAI;AAC/C;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ,cAAc,YAAY,YAAY,MAAM;AACjG;AACA;AACA,yDAAyD,eAAe;AACxE,UAAU,OAAO,KAAK;AACtB;AACA;AACA;AACA,mFAAmF,UAAU;AAC7F;AACA;AACA,0BAA0B,MAAM;AAChC,0BAA0B,QAAQ,sDAAsD,QAAQ,EAAE;AAClG,kBAAkB,OAAO;AACzB;AACA,gBAAgB,MAAM;AACtB;AACA;AACA,qCAAqC,YAAY;AACjD,qCAAqC,YAAY;AACjD;AACA,wBAAwB,SAAS;AACjC;AACA;AACA,sDAAsD,QAAQ;AAC9D,iDAAiD,QAAQ;AACzD,8CAA8C,KAAK;AACnD;AACA,cAAc,SAAS,GAAG,UAAU,GAAG,QAAQ;AAC/C;AACA;AACA;AACA;AACA,kBAAkB,SAAS,WAAW,SAAS,SAAS,OAAO,MAAM;AACrE;AACA;AACA,UAAU,KAAK;AACf;AACA;AACA;AACA,sDAAsD,YAAY;AAClE,iBAAiB,YAAY,GAAG,SAAS,QAAQ,EAAE,WAAW;AAC9D;AACA,sDAAsD,YAAY,UAAU,YAAY,QAAQ,WAAW;AAC3G;AACA,sDAAsD,YAAY,UAAU,YAAY,QAAQ,WAAW;AAC3G;AACA,qCAAqC,cAAc,UAAU,cAAc;AAC3E,gBAAgB,YAAY,aAAa,QAAQ,mBAAmB,aAAa;AACjF;AACA,oDAAoD,UAAU,eAAe,UAAU,GAAG,SAAS;AACnG,oDAAoD,UAAU,UAAU,UAAU,GAAG,SAAS;AAC9F,+DAA+D,eAAe,GAAG,UAAU;AAC3F;AACA,yCAAyC,WAAW,OAAO,UAAU,mBAAmB,UAAU;AAClG,wBAAwB,OAAO,kBAAkB,SAAS,kBAAkB,SAAS,cAAc,SAAS;AAC5G;AACA,qCAAqC,QAAQ;AAC7C,wBAAwB,OAAO,GAAG,UAAU;AAC5C,mBAAmB,QAAQ;AAC3B,kBAAkB,MAAM;AACxB;AACA,+CAA+C;AAC/C;AACA;AACA,oBAAoB,KAAK,qDAAqD,MAAM,QAAQ,IAAI;AAChG;AACA;AACA,kEAAkE,KAAK;AACvE;AACA;AACA;AACA;AACA,iDAAiD,KAAK;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,KAAK,SAAS,KAAK;AAC1C;AACA;AACA;AACA;AACA;AACA,0BAA0B,KAAK;AAC/B,gBAAgB,KAAK;AACrB;AACA;AACA;AACA,iEAAiE,KAAK;AACtE;AACA;AACA;AACA,yEAAyE,QAAQ;AACjF,gBAAgB,KAAK,SAAS,KAAK;AACnC;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,YAAY;AAC5D,sBAAsB;AACtB;AACA,kDAAkD,SAAS;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,4BAA4B;AAC5B;AACA,mBAAmB,0EAA0E;AAC7F,kBAAkB,iCAAiC;AACnD,kBAAkB,iCAAiC;AACnD,oBAAoB,iCAAiC;AACrD,mBAAmB,iCAAiC;AACpD,mBAAmB,iCAAiC;AACpD,mBAAmB,+BAA+B;AAClD,mBAAmB,iCAAiC;AACpD,oBAAoB,iCAAiC;AACrD,iBAAiB,sDAAsD;AACvE,mBAAmB,iCAAiC;AACpD,SAAS;AACT;AACA,mBAAmB,0EAA0E;AAC7F,kBAAkB,gCAAgC;AAClD,kBAAkB,gCAAgC;AAClD,oBAAoB,gCAAgC;AACpD,mBAAmB,gCAAgC;AACnD,mBAAmB,+BAA+B;AAClD,mBAAmB,+BAA+B;AAClD,mBAAmB,+BAA+B;AAClD,oBAAoB,+BAA+B;AACnD,iBAAiB,gCAAgC;AACjD,mBAAmB,gCAAgC;AACnD,SAAS;AACT;AACA,mBAAmB,0EAA0E;AAC7F;AACA;AACA,oBAAoB,2EAA2E;AAC/F,mBAAmB,2EAA2E;AAC9F,mBAAmB,oDAAoD;AACvE,mBAAmB,+BAA+B;AAClD,mBAAmB,gCAAgC;AACnD,oBAAoB,2EAA2E;AAC/F;AACA,mBAAmB,sDAAsD;AACzE,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uDAAuD,IAAI,wBAAwB;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oBAAoB;AAC5C;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA,mBAAmB;AACnB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,wCAAwC,KAAK;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;AACA,YAAY;AACZ;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,6CAA6C,EAAE,gCAAgC,MAAM;AACrF;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,UAAU;AACvD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,wBAAwB,gBAAgB;AACxC,8BAA8B,uEAAuE;AACrG;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,4BAA4B,oBAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,uCAAuC;AAChF;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,gBAAgB;AACzD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,8BAA8B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,4DAA4D;AAC5D,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF,oBAAoB;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,kDAAkD;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,eAAe;AACf;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,8DAA8D;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,sCAAsC,0CAA0C;AAChF,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qCAAqC,EAAE,gBAAgB,MAAM;AAC7D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,iDAAiD,QAAQ;AACzD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,iDAAiD,QAAQ;AACzD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,4CAA4C;AAC5C,kDAAkD;AAClD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,mBAAmB,YAAY;AACtC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qCAAqC;AACxD;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAqF,UAAU;AAC/F;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,sCAAsC,YAAY;AAClD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,YAAY;AACZ;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,mFAAmF,UAAU;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF,UAAU;AAC7F;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,mCAAmC,IAAI,WAAW;AAClD,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,SAAS;AACrF,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,SAAS;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,SAAS;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,YAAY;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,wBAAwB;AAC7D,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,sBAAsB,8DAA8D;AACpF;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,2EAA2E,EAAE;AAC7E,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,oDAAoD;AACzF,UAAU;AACV,qCAAqC,+DAA+D;AACpG;AACA;AACA,8BAA8B,cAAc;AAC5C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,MAAM;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gEAAgE;;AAE5G;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,KAAK,uCAAuC,KAAK;AACxG,0CAA0C,6CAA6C;AACvF;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,iDAAiD,kDAAkD;AACnG;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,kDAAkD,gBAAgB;AAClE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA,yCAAyC,wBAAwB;AACjE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,qDAAqD,OAAO;AAC5D;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB,kEAAkE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,2BAA2B,2BAA2B;AACtD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,8CAA8C;AACzG;AACA,mDAAmD,sCAAsC;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,KAAK;AACtE,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,8CAA8C,sDAAsD;AACpG;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,uCAAuC;AAC5E;AACA,iBAAiB;AACjB;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,yBAAyB;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8CAA8C,2BAA2B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAA2B,IAAI,YAAY,6BAA6B;AAC5G,mBAAmB;AACnB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,8BAA8B,EAAE,gBAAgB,EAAE;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,2CAA2C;AACjF,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA,UAAU;AACV,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,2BAA2B,IAAI;AACjE;AACA;AACA;AACA,aAAa;AACb,mBAAmB;AACnB;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,YAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,KAAK;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,kDAAkD,gCAAgC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA,sDAAsD,gCAAgC;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,mCAAmC;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,iDAAiD,MAAM,oBAAoB,MAAM;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,4DAA4D,qBAAqB;AACjF;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA,0BAA0B,qBAAqB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,8CAA8C;AAChF;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,sEAAsE;AACxG,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,mCAAmC;AACnC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uEAAuE,SAAS,OAAO,KAAK,GAAG,MAAM;AACrG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,wBAAwB;AACxB,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,yBAAyB;AACzB;AACA;AACA,+BAA+B;AAC/B,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,oBAAoB;AACpB,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA,6BAA6B,KAAK,OAAO,KAAK,+CAA+C,QAAQ;AACrG,6BAA6B,KAAK,OAAO,KAAK,iDAAiD,QAAQ;AACvG,sCAAsC,KAAK,OAAO,KAAK,iDAAiD,QAAQ;AAChH,mDAAmD,EAAE,MAAM,OAAO;AAClE,+DAA+D,EAAE,2CAA2C,EAAE;AAC9G,2DAA2D,EAAE,gBAAgB,EAAE;AAC/E,6BAA6B,KAAK;AAClC,sEAAsE,KAAK;AAC3E,gCAAgC,KAAK;AACrC,uDAAuD,KAAK;AAC5D,qEAAqE,KAAK;AAC1E,0EAA0E,KAAK;AAC/E,iDAAiD,KAAK,UAAU,MAAM;AACtE,2DAA2D,KAAK,UAAU,WAAW;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,4CAA4C;AAC5C,0CAA0C;AAC1C;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO,IAAI,OAAO,QAAQ;AACzD,gCAAgC,OAAO,IAAI,OAAO,GAAG,MAAM,GAAG,QAAQ;AACtE,mBAAmB,IAAI,OAAO;AAC9B;AACA,oDAAoD,GAAG;AACvD;AACA,6BAA6B,KAAK,uBAAuB,MAAM,qBAAqB,WAAW;AAC/F;AACA,8BAA8B,KAAK,uBAAuB,MAAM,qBAAqB,WAAW;AAChG,+CAA+C,KAAK,oBAAoB,MAAM,qBAAqB,WAAW;AAC9G;AACA,8BAA8B,KAAK,oBAAoB,MAAM,qBAAqB,WAAW;AAC7F;AACA,mEAAmE,OAAO;AAC1E,kDAAkD,WAAW;AAC7D,4BAA4B,WAAW;AACvC;AACA,cAAc,KAAK,iBAAiB,KAAK;AACzC;AACA,iCAAiC,IAAI,0BAA0B,KAAK,2BAA2B,MAAM;AACrG,sBAAsB,MAAM;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,mDAAmD;AACnD,kDAAkD,MAAM;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;ACl3OD;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAA0C;AAClD,QAAQ,iCAAO,CAAC,yEAAQ,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,kGAAC;AACnC,MAAM,KAAK,EAIN;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,OAAO;AACjC;AACA;AACA,kCAAkC,KAAK,OAAO,KAAK,gEAAgE,QAAQ;AAC3H,kCAAkC,KAAK,OAAO,KAAK,2DAA2D,QAAQ;AACtH,4CAA4C,KAAK,OAAO,KAAK,2DAA2D,QAAQ;AAChI,oDAAoD,EAAE,MAAM,OAAO;AACnE,6EAA6E,EAAE,qDAAqD,EAAE;AACtI,4FAA4F,EAAE,qDAAqD,EAAE;AACrJ,kCAAkC,KAAK;AACvC,mFAAmF,KAAK;AACxF,yCAAyC,KAAK;AAC9C,gEAAgE,KAAK;AACrE,qDAAqD,KAAK;AAC1D,uFAAuF,KAAK;AAC5F,wDAAwD,KAAK,wCAAwC,MAAM;AAC3G,oEAAoE,KAAK,2CAA2C,WAAW;AAC/H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,qDAAqD;AACrD,0DAA0D;AAC1D;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO,KAAK,OAAO,YAAY;AAChE,6BAA6B,OAAO,KAAK,OAAO,GAAG,MAAM,MAAM,QAAQ,QAAQ;AAC/E,uBAAuB,IAAI,OAAO;AAClC,0CAA0C;AAC1C,4EAA4E,GAAG;AAC/E,oDAAoD,KAAK,sBAAsB,KAAK,QAAQ,8BAA8B,UAAU,QAAQ;AAC5I,mDAAmD,KAAK,sBAAsB,KAAK,QAAQ,8BAA8B,UAAU,QAAQ;AAC3I,oDAAoD,KAAK,WAAW,KAAK,QAAQ,yCAAyC,UAAU,QAAQ;AAC5I,mDAAmD,KAAK,WAAW,KAAK,QAAQ,yCAAyC,UAAU,QAAQ;AAC3I;AACA,yEAAyE,OAAO;AAChF,wCAAwC,UAAU;AAClD,gCAAgC,WAAW;AAC3C,uCAAuC,KAAK,kBAAkB,KAAK;AACnE,iEAAiE,KAAK,cAAc,IAAI,0CAA0C,MAAM;AACxI,0BAA0B,MAAM;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,sDAAsD;AACtD,oDAAoD,OAAO;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;AC5HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa,KAAqC,CAAC,iCAAO,CAAC,yEAAQ,CAAC,oCAAC,CAAC;AAAA;AAAA;AAAA,kGAAC,CAAC,CAA2F,CAAC,aAAa,aAAa,0BAA0B,oBAAoB,qoBAAqoB,kBAAkB,wDAAwD,yBAAyB,kVAAkV,8UAA8U;;;;;;;;;;ACZjoD;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,KAA4D,oBAAoB,mBAAO,CAAC,oDAAQ,GAAG,mBAAO,CAAC,8DAAW;AACxH,EAAE,CACwI;AAC1I,CAAC,yCAAyC;;AAE1C,uCAAuC,4DAA4D;;AAEnG;AACA;;AAEA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA;;AAEA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,QAAQ;;AAER;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;AACA,8DAA8D;;AAE9D;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B,MAAM;AACN;;AAEA;AACA,gCAAgC;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,0CAA0C,SAAS;AACnD;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;;;AAGN;;AAEA,4CAA4C,WAAW;AACvD;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B,gCAAgC;;AAEhC,oCAAoC;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2DAA2D;AAC3D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4BAA4B;;AAE5B;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA,QAAQ;AACR;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA,iCAAiC;;AAEjC;AACA,+BAA+B;AAC/B;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,8BAA8B;;AAE9B;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,4CAA4C,SAAS;AACrD;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,wBAAwB;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA,0BAA0B;AAC1B,8CAA8C;;AAE9C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iCAAiC,gFAAgF;;AAEjH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B,0BAA0B;;AAE1B,uBAAuB;;AAEvB,6BAA6B;;AAE7B,+BAA+B;;AAE/B,oCAAoC;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;AAEA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,UAAU;AACV,qDAAqD;;AAErD;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,wCAAwC;;AAExC;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA,wBAAwB;AACxB,MAAM;AACN;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,4CAA4C,SAAS;AACrD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAU;AACV;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,+FAA+F;;AAE/F;AACA;AACA;AACA;AACA,SAAS,GAAG;;AAEZ;AACA;AACA;AACA;AACA,SAAS,GAAG;;AAEZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,GAAG;;AAEV;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO,GAAG;;AAEV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA,iCAAiC,mGAAmG;;AAEpI;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,wFAAwF;;AAExF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uIAAuI;;AAEvI;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK,GAAG;;AAER,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wDAAwD;;AAExD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,2CAA2C,SAAS;AACpD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;;AAEA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,iEAAiE;AACjE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM;AACN;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,wBAAwB;AACxB;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iCAAiC;AACjC;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,0BAA0B,8FAA8F;;AAExH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,GAAG;;AAEH,iCAAiC;AACjC;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,8DAA8D;;AAE9D;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA,0BAA0B,+DAA+D;;AAEzF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,yCAAyC,IAAI;AAC7C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA,6CAA6C;AAC7C;;AAEA,sIAAsI;;AAEtI;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP,MAAM;AACN;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,mCAAmC,IAAI;AACvC;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA,0BAA0B,0GAA0G;AACpI;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAiD,aAAa;;AAE9D,CAAC;AACD;;;;;;;;;;;ACnwIA,iCAAiC,mBAAO,CAAC,2DAAe;AACxD,0CAA0C,mBAAO,CAAC,qHAAmD;AACrG;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACPa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,MAAM;;;AAGN,eAAe,qBAAM;AACrB,aAAa,qBAAM;AACnB;AACA;;AAEA;AACA,CAAC;;;;;;;;;;AChCD;AACA,QAAQ,IAA0C;AAClD;AACA,QAAQ,iCAAO,CAAC,OAAS,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,kGAAC;AACpC,MAAM,KAAK,EAMN;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;AACA;AACA;AACA,wCAAwC,EAAE;;AAE1C;AACA;AACA;AACA;;AAEA;AACA,gDAAgD;AAChD,6CAA6C;AAC7C,6CAA6C;AAC7C,0CAA0C;AAC1C,0CAA0C;AAC1C,0CAA0C;AAC1C,6CAA6C;AAC7C;;AAEA,sCAAsC,gBAAgB;AACtD,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,EAAE;;AAEhC;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;;;;;;;;;;;ACpbD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,MAAM,KAA0B;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,IAAI;AACJ,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;AACA,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,SAAS,YAAY;;AAErB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF,8CAA8C;AAC9C;AACA;AACA,mBAAmB,iCAAiC;AACpD,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,SAAS;AACnB;AACA;;AAEA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,kCAAkC,IAAI;AACtC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,2BAA2B;AAC3B;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA,gBAAgB,IAAI;;AAEpB;AACA;;AAEA;;AAEA;AACA;AACA,0CAA0C,IAAI;AAC9C;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF,UAAU;;AAEV;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;;AAEA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,0BAA0B;AACvC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS,6BAA6B;AACjD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;;AAEA;AACA;AACA,WAAW,iBAAiB;AAC5B,aAAa,wBAAwB;AACrC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA,iCAAiC,MAAM;AACvC;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,eAAe;;AAEf,SAAS;;AAET;AACA,SAAS,gCAAgC;AACzC,SAAS,mBAAmB;AAC5B,SAAS,qCAAqC;AAC9C,SAAS;AACT,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,8DAA8D;;AAE9D;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ;;AAER;AACA;;AAEA;AACA;AACA,+DAA+D;;AAE/D;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,kEAAkE,UAAU;AAC5E,uCAAuC,2BAA2B;AAClE;AACA,iCAAiC,MAAM;AACvC;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA,aAAa,uEAAuE;AACpF;AACA;AACA,aAAa,4BAA4B;AACzC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,6DAA6D;;AAE7D;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA,QAAQ;AACR;;AAEA;AACA;AACA,QAAQ;;AAER;AACA;;AAEA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,SAAS;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ,SAAS,SAAS;AAClB;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,iDAAiD;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;;AAEA;AACA;AACA,kDAAkD;AAClD,WAAW,4CAA4C;AACvD;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,EAAE;;;;AAIF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA,SAAS,GAAG;AACZ;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;;;AAIA;;AAEA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA,eAAe,SAAS;AACxB;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA,MAAM;AACN;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,2BAA2B,wBAAwB;;AAEnD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA,2CAA2C;AAC3C,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;;;AAIA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,QAAQ;AACR,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,yCAAyC,qCAAqC;AAC9E,qCAAqC,sCAAsC;AAC3E,qCAAqC,qCAAqC;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qCAAqC;AACrC,sCAAsC;AACtC,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA,GAAG;AACH;;;;;AAKA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wBAAwB,aAAa;AACrC,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA,IAAI;AACJ;AACA,EAAE;;;AAGF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,EAAE;AACF;AACA;AACA;AACA,IAAI;AACJ,EAAE;AACF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;;AAGA;;AAEA;;;;AAIA;AACA;AACA,GAAG;AACH,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,gBAAgB;AACzB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB,gBAAgB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA,EAAE;AACF;;AAEA;;AAEA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,OAAO;AAChB;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA,WAAW;;AAEX;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,sBAAsB;AACrC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0BAA0B;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gEAAgE;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,cAAc;;AAEzB;AACA;AACA;AACA;AACA;AACA,kBAAkB,mBAAmB;AACrC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uCAAuC;AAClE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,uDAAuD;AAC/E;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,+CAA+C;AACrD;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,eAAe,oCAAoC;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,EAAE;;;AAGF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,+BAA+B;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,OAAO;AAChD;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA,UAAU,qCAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;;AAEA,UAAU,8BAA8B;AACxC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ,EAAE;;AAEF;AACA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,aAAa,OAAO;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,WAAW;AACrB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;;;AAGA;AACA;AACA;AACA;;;;;AAKA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+CAA+C,cAAc,WAAW;AACxE,mBAAmB,UAAU;AAC7B;AACA,sBAAsB,cAAc,sBAAsB,gBAAgB;AAC1E,gBAAgB,WAAW,YAAY;AACvC,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,cAAc;AAC3D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;;AAGF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA,aAAa,8DAA8D;AAC3E;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,OAAO;;AAEhB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;;AAEA,YAAY,SAAS;AACrB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,EAAE;;;AAGF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,gBAAgB;AACzB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,kDAAkD,0BAA0B;AAC5E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,gBAAgB;AAC3B;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,gBAAgB;AAC5B;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA,SAAS,gBAAgB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA,UAAU,gBAAgB;AAC1B;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;;AAEF;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,aAAa;AAClC,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,SAAS;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAAgC,SAAS;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B,YAAY,iBAAiB;AAC7B,eAAe;AACf,CAAC;AACD;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAAS,mBAAmB;AAC5B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,IAAI;AACJ;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;;;AAKF;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,IAAI;AACJ;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;;;AAKF;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,uBAAuB;AACzC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB,uBAAuB;AACxC;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;;;;AAKF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA,kCAAkC;AAClC;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA,MAAM;AACN;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,MAAM;AACN;AACA;;AAEA;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;;;AAKF;;;AAGA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,uCAAuC;AACvC;AACA;AACA;;AAEA;;AAEA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C;AAC5C;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,oCAAoC;;AAEpD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAM;AACN;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,cAAc;;AAEd;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd,MAAM;AACN;;AAEA,YAAY;AACZ,IAAI;AACJ;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB,qDAAqD;AACrD;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU;AACV;;AAEA;;AAEA;AACA;;AAEA;AACA,iBAAiB;AACjB,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B;;AAE3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC;;AAElC;AACA,sBAAsB;AACtB,2BAA2B;;AAE3B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM;AACN;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA,IAAI;AACJ,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA,oDAAoD;AACpD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,uBAAuB;AACnC,YAAY,wBAAwB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;;;AAKF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,cAAc,uCAAuC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;;;AAKF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,EAAE;;;;;AAKF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,KAAK;AACL,IAAI;AACJ;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA,GAAG;AACH;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA;;AAEA;;AAEA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;;AAEA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA,EAAE;;AAEF;AACA,eAAe,qDAAqD;AACpE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA,eAAe,kCAAkC;AACjD;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;;;AAKF;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK,IAA0C;AAC/C,CAAC,iCAAkB,EAAE,mCAAE;AACvB;AACA,EAAE;AAAA,kGAAE;AACJ;;;;;AAKA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA,EAAE;;;;;;;;;;;AC5pVF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAA2B;AACnC;AACA,MAAM,KAAK,EAIN;AACL,CAAC,UAAU,qBAAM,mBAAmB,qBAAM;;AAE1C;;AAEA,QAAQ,IAA0C;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,gBAAgB,iBAAiB;AACjC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,YAAY;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sDAAsD;AACtD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;;AAEb;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA,kCAAkC;AAClC;AACA;AACA,SAAS;;AAET;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA,kCAAkC;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACnLD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,IAA0C;AAClD;AACA,QAAQ,iCAAO,CAAC,yEAAQ,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,kGAAC;AACnC,MAAM,KAAK,EAQN;AACL,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kOAAkO;;AAElO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,KAAK;;;AAGL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;ACziBD;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,uCAAuC;AACvC,+CAA+C;AAC/C,8CAA8C;AAC9C,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,uBAAuB;AACvB,wCAAwC;AACxC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,gCAAgC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,uBAAuB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,sBAAsB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,4CAA4C;AAC5F;AACA;AACA;AACA;AACA,mEAAmE,8DAA8D;AACjI;AACA;AACA;AACA;AACA;AACA,0EAA0E,WAAW;AACrF;AACA;AACA;AACA,sGAAsG,0CAA0C;AAChJ;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,6DAA6D,sCAAsC;AACnG,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,sBAAsB;AACtB;AACA;AACA;AACA,yBAAyB;AACzB;AACA,kBAAkB;AAClB;AACA;AACA;AACA,yBAAyB;AACzB,sBAAsB;AACtB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,oCAAoC,WAAW;AAC/C;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,4CAA4C,sBAAsB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,cAAc;AACd;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;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,SAAS;AACT;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;;;;;;;;;;;ACtnCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC,YAAY,QAAQ;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,OAAO;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,IAAI;;AAEJ;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;;AAEJ,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,YAAY,qCAAqC;AAC5E;AACA;AACA;AACA,4BAA4B,YAAY,0CAA0C;AAClF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA,wCAAwC,eAAe;;AAEvD;AACA;AACA;AACA;;AAEA,6BAA6B,qBAAqB;;AAElD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,gBAAgB;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0EAA0E,cAAc;AACxF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,yDAAyD,eAAe;AACxE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,IAAI;AACJ;AACA;AACA,IAAI;AACJ,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,SAAS;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,wCAAwC,YAAY,qCAAqC;;AAEzF;AACA;AACA;;AAEA;;AAEA;;AAEA,6BAA6B,YAAY,0CAA0C;AACnF;;AAEA;AACA;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,gBAAgB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,UAAU;AAC7D;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,SAAS;AACrB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,SAAS;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,SAAS;AACrB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,gBAAgB;AAC9B;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,+CAA+C,eAAe;AAC9D;;AAEA,8CAA8C,uCAAuC;AACrF;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,2BAA2B;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,2BAA2B;AACvC,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB,sCAAsC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,0BAA0B,sCAAsC;AAChE;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2BAA2B,oDAAoD;;AAE/E;AACA;AACA;;AAEA;;AAEA,4BAA4B,mCAAmC;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,GAAG;AACf,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,YAAY,SAAS;AACrB,cAAc,OAAO;AACrB;AACA;AACA;AACA,WAAW;AACX,GAAG;AACH,mDAAmD,UAAU;AAC7D;AACA;AACA;AACA,cAAc,qBAAqB;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ,mBAAmB,kCAAkC;AACrD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,QAAQ;AACtB;AACA;AACA,iBAAiB;;AAEjB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,2DAA2D;AACvE,cAAc,SAAS;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mCAAmC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,KAAK;AACL;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,kCAAkC;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,cAAc;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,kCAAkC;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gCAAgC,6BAA6B;;AAE7D;AACA;AACA;AACA,oCAAoC,6BAA6B;AACjE,KAAK;AACL,cAAc;AACd;AACA,mDAAmD,6BAA6B;AAChF,iBAAiB;AACjB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,oCAAoC,6BAA6B;AACjE,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,2BAA2B,yDAAyD;AACpF;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,kCAAkC;;AAElC;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E,8BAA8B;AACzG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN,MAAM;AACN;AACA;AACA,0BAA0B;AAC1B,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,aAAa;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA,kCAAkC;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,kCAAkC;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG,EAAE;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iCAAiC,WAAW;AAC5C;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,YAAY,SAAS;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;;AAEA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,kCAAkC;;AAElC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;;;;;;;;;;;;;;;;ACv3GD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,kCAAkC;AACpD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,KAAK;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;AAMD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,sBAAsB;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,aAAa,SAAS;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,QAAQ;AACnB,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;;AAEA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,GAAG;AACH;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA,eAAe;AACf;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,aAAa;AACxB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd,mBAAmB;AACnB,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,SAAS;AACvB,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6CAA6C,eAAe;;AAE5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,eAAe;;AAEtF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,sBAAsB,wDAAwD;;AAE9E;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B,2BAA2B;AAC3B,gCAAgC;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gDAAgD;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,eAAe;AAC7B;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA,wBAAwB;AACxB,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B,4BAA4B;AAC5B;;AAEA,qCAAqC;AACrC;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,aAAa,YAAY;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,SAAS;AACxB;AACA,eAAe,YAAY;AAC3B;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,SAAS;AACxB;AACA,eAAe,YAAY;AAC3B;AACA,eAAe,eAAe;AAC9B;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,SAAS;AACxB;AACA,eAAe,YAAY;AAC3B;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,SAAS;AACxB;AACA,eAAe,YAAY;AAC3B;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,SAAS;AACxB;AACA,eAAe,YAAY;AAC3B;AACA,eAAe,oBAAoB;AACnC;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,SAAS;AACxB;AACA,eAAe,YAAY;AAC3B;AACA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,SAAS;AACxB;AACA,eAAe,YAAY;AAC3B;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,SAAS;AACxB;AACA,eAAe,YAAY;AAC3B;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,SAAS;AACxB;AACA,eAAe,YAAY;AAC3B;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,SAAS;AACxB;AACA,eAAe,YAAY;AAC3B;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,aAAa;AAC3B,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,IAAI;AACJ;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mBAAmB;AAC/B;AACA;;AAEA;AACA;AACA,YAAY,SAAS;AACrB;AACA;;AAEA;AACA;AACA,YAAY,SAAS;AACrB;AACA;;AAEA;AACA;AACA;AACA,YAAY,SAAS;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,kCAAkC;;AAElC;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,WAAW,YAAY;AACvB;;AAEA;AACA;AACA,WAAW,YAAY;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,yBAAyB;AACtC,aAAa,SAAS;AACtB,aAAa,QAAQ;AACrB,cAAc,QAAQ;AACtB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe;AACf,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B;AAC3B,iDAAiD,uCAAuC,kDAAkD;AAC1I,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,QAAQ;AACtB;AACA;;;AAGA,yDAAyD,qBAAM;AAC/D;AACA;;AAEA,iEAAe,MAAM,EAAC;AACtB;;;;;;;;;;;ACvjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,MAAM,IAA0C;AAChD;AACA,IAAI,iCAAO,CAAC,yEAAQ,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,kGAAC;AAC/B,IAAI,KAAK,EAqBN;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAe;AACtB,WAAW,WAAW,OAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB,oBAAoB;AACpB,mBAAmB;AACnB,qBAAqB;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;;AAEA;AACA;AACA;AACA,+CAA+C,OAAO;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,0CAA0C;AAC1C;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,kBAAkB;AAClB,uFAAuF;AACvF;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED,yBAAyB,qBAAqB;AAC9C;AACA,CAAC;AACD,gCAAgC;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA,sBAAsB;;AAEtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,oBAAoB,yBAAyB;AAC7C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,oBAAoB,6BAA6B;AACjD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C,SAAS;AACrD;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,oBAAoB,YAAY;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB,iBAAiB;AACjB,gBAAgB;AAChB,gBAAgB;AAChB,kBAAkB;AAClB,kBAAkB;AAClB,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,oCAAoC;AACpC,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA,oBAAoB,yBAAyB;AAC7C;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;;AAEP,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,sBAAsB,0BAA0B;AAChD;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC;AAChC,QAAQ;AACR;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV,kCAAkC;AAClC;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,MAAM;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,MAAM;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,mCAAmC;AACnC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB,iBAAiB;AACzC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP,MAAM;AACN;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,sBAAsB,wBAAwB;AAC9C;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,sBAAsB,sBAAsB;AAC5C;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB;AACtB;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB;AACtB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;AACA;;AAEA;AACA,uCAAuC;;AAEvC;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB;AACtB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,sBAAsB,iBAAiB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kCAAkC;AAClC;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,kCAAkC,QAAQ;AAC1C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B,GAAG,QAAQ;;AAEvC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,oBAAoB,6BAA6B;AACjD;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA,+CAA+C,QAAQ;AACvD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;;AAEA,oBAAoB,sBAAsB;AAC1C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,oBAAoB,sBAAsB;AAC1C;;AAEA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB,gCAAgC;AACvD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iCAAiC;AACjC;;AAEA;AACA,gCAAgC;;AAEhC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,gCAAgC;;AAEhC,wCAAwC,OAAO;AAC/C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV,2CAA2C;;AAE3C;AACA,UAAU;AACV,2CAA2C;;AAE3C;AACA,UAAU;AACV,6CAA6C;;AAE7C;AACA,UAAU;AACV,yCAAyC;;AAEzC;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gCAAgC;AAChC,MAAM;AACN,+BAA+B;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB,iCAAiC;AACvD;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA;;AAEA,4BAA4B,qBAAqB;AACjD;;AAEA;AACA;AACA;AACA;AACA,cAAc,MAAM;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,MAAM;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iDAAiD;;AAEjD;AACA,SAAS;;AAET;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC","sources":["webpack:///./node_modules/bootstrap-fileinput/js/fileinput.js","webpack:///./node_modules/bootstrap-fileinput/js/locales/de.js","webpack:///./node_modules/bootstrap-fileinput/themes/fa5/theme.min.js","webpack:///./node_modules/bootstrap/dist/js/bootstrap.js","webpack:///./node_modules/jquery/dist/jquery-exposed.js","webpack:///./node_modules/expose-loader/dist/runtime/getGlobalThis.js","webpack:///./node_modules/iban/iban.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./node_modules/lazyload/lazyload.js","webpack:///./node_modules/lightbox2/dist/js/lightbox.js","webpack:///./node_modules/lightslider/dist/js/lightslider.js","webpack:///./node_modules/owl.carousel/dist/owl.carousel.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/select2/dist/js/select2.js"],"sourcesContent":["/*!\n * bootstrap-fileinput v5.5.4\n * http://plugins.krajee.com/file-input\n *\n * Author: Kartik Visweswaran\n * Copyright: 2014 - 2024, Kartik Visweswaran, Krajee.com\n *\n * Licensed under the BSD-3-Clause\n * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md\n */\n(function (factory) {\n \"use strict\";\n if (typeof define === \"function\" && define.amd) {\n define([\"jquery\"], factory);\n } else if (typeof module === \"object\" && typeof module.exports === \"object\") {\n factory(require(\"jquery\"));\n } else {\n factory(window.jQuery);\n }\n})(function ($) {\n \"use strict\";\n\n $.fn.fileinputLocales = {};\n $.fn.fileinputThemes = {};\n\n if (!$.fn.fileinputBsVersion) {\n $.fn.fileinputBsVersion =\n (window.bootstrap && window.bootstrap.Alert && window.bootstrap.Alert.VERSION) ||\n (window.Alert && window.Alert.VERSION) ||\n \"3.x.x\";\n }\n\n String.prototype.setTokens = function (replacePairs) {\n var str = this.toString(),\n key,\n re;\n for (key in replacePairs) {\n if (replacePairs.hasOwnProperty(key)) {\n re = new RegExp(\"{\" + key + \"}\", \"g\");\n str = str.replace(re, replacePairs[key]);\n }\n }\n return str;\n };\n\n if (!Array.prototype.flatMap) {\n // polyfill flatMap\n Array.prototype.flatMap = function (lambda) {\n return [].concat(this.map(lambda));\n };\n }\n\n var $h, FileInput;\n\n // fileinput helper object for all global variables and internal helper methods\n $h = {\n FRAMES: \".kv-preview-thumb\",\n SORT_CSS: \"file-sortable\",\n INIT_FLAG: \"init-\",\n SCRIPT_SRC: (document && document.currentScript && document.currentScript.src) || null,\n OBJECT_PARAMS:\n '\\n' +\n '\\n' +\n '\\n' +\n '\\n' +\n '\\n' +\n '\\n',\n DEFAULT_PREVIEW:\n '
\\n' +\n '{previewFileIcon}\\n' +\n \"
\",\n MODAL_ID: \"kvFileinputModal\",\n MODAL_EVENTS: [\"show\", \"shown\", \"hide\", \"hidden\", \"loaded\"],\n logMessages: {\n ajaxError: \"{status}: {error}. Error Details: {text}.\",\n badDroppedFiles: \"Error scanning dropped files!\",\n badExifParser: \"Error loading the piexif.js library. {details}\",\n badInputType: 'The input \"type\" must be set to \"file\" for initializing the \"bootstrap-fileinput\" plugin.',\n exifWarning:\n 'To avoid this warning, either set \"autoOrientImage\" to \"false\" OR ensure you have loaded ' +\n 'the \"piexif.js\" library correctly on your page before the \"fileinput.js\" script.',\n invalidChunkSize: 'Invalid upload chunk size: \"{chunkSize}\". Resumable uploads are disabled.',\n invalidThumb: 'Invalid thumb frame with id: \"{id}\".',\n noResumableSupport: \"The browser does not support resumable or chunk uploads.\",\n noUploadUrl: 'The \"uploadUrl\" is not set. Ajax uploads and resumable uploads have been disabled.',\n retryStatus: \"Retrying upload for chunk # {chunk} for {filename}... retry # {retry}.\",\n chunkQueueError: \"Could not push task to ajax pool for chunk index # {index}.\",\n resumableMaxRetriesReached: \"Maximum resumable ajax retries ({n}) reached.\",\n resumableRetryError: \"Could not retry the resumable request (try # {n})... aborting.\",\n resumableAborting: \"Aborting / cancelling the resumable request.\",\n resumableRequestError: \"Error processing resumable request. {msg}\",\n },\n objUrl: window.URL || window.webkitURL,\n getZoomPlaceholder: function () {\n // used to prevent 404 errors in URL parsing\n var src = $h.SCRIPT_SRC,\n srcPath,\n zoomVar = \"?kvTemp__2873389129__=\";\n if (!src) {\n return zoomVar;\n }\n srcPath = src.substring(0, src.lastIndexOf(\"/\"));\n return srcPath.substring(0, srcPath.lastIndexOf(\"/\") + 1) + \"img/loading.gif\" + zoomVar;\n },\n defaultButtonCss: function (fill) {\n return \"btn-default btn-\" + (fill ? \"\" : \"outline-\") + \"secondary\";\n },\n isBs: function (ver) {\n var chk = $h.trim(($.fn.fileinputBsVersion || \"\") + \"\");\n ver = parseInt(ver, 10);\n if (!chk) {\n return ver === 4;\n }\n return ver === parseInt(chk.charAt(0), 10);\n },\n isNumeric: function (n) {\n if (n === undefined) {\n return false;\n }\n return !isNaN(parseFloat(n)) && isFinite(n);\n },\n trim: function (val) {\n if (val === undefined) {\n return \"\";\n }\n return val.toString().trim();\n },\n now: function () {\n return new Date().getTime();\n },\n round: function (num) {\n num = parseFloat(num);\n return isNaN(num) ? 0 : Math.floor(Math.round(num));\n },\n getArray: function (obj) {\n var i,\n arr = [],\n len = (obj && obj.length) || 0;\n for (i = 0; i < len; i++) {\n arr.push(obj[i]);\n }\n return arr;\n },\n getFileRelativePath: function (file) {\n /** @namespace file.relativePath */\n /** @namespace file.webkitRelativePath */\n return String(file.newPath || file.relativePath || file.webkitRelativePath || $h.getFileName(file) || null);\n },\n getFileId: function (file, generateFileId) {\n var relativePath = $h.getFileRelativePath(file);\n if (typeof generateFileId === \"function\") {\n return generateFileId(file);\n }\n if (!file) {\n return null;\n }\n if (!relativePath) {\n return null;\n }\n return file.size + \"_\" + encodeURIComponent(relativePath).replace(/%/g, \"_\");\n },\n getFrameSelector: function (id, selector) {\n selector = selector || \"\";\n return '[id=\"' + id + '\"]' + selector;\n },\n getZoomSelector: function (id, selector) {\n return $h.getFrameSelector(\"zoom-\" + id, selector);\n },\n getFrameElement: function ($element, id, selector) {\n return $element.find($h.getFrameSelector(id, selector));\n },\n getZoomElement: function ($element, id, selector) {\n return $element.find($h.getZoomSelector(id, selector));\n },\n getElapsed: function (seconds) {\n var delta = seconds,\n out = \"\",\n result = {},\n structure = {\n year: 31536000,\n month: 2592000,\n week: 604800, // uncomment row to ignore\n day: 86400, // feel free to add your own row\n hour: 3600,\n minute: 60,\n second: 1,\n };\n $h.getObjectKeys(structure).forEach(function (key) {\n result[key] = Math.floor(delta / structure[key]);\n delta -= result[key] * structure[key];\n });\n $.each(result, function (key, value) {\n if (value > 0) {\n out += (out ? \" \" : \"\") + value + key.substring(0, 1);\n }\n });\n return out;\n },\n debounce: function (func, delay) {\n var inDebounce;\n return function () {\n var args = arguments,\n context = this;\n clearTimeout(inDebounce);\n inDebounce = setTimeout(function () {\n func.apply(context, args);\n }, delay);\n };\n },\n stopEvent: function (e) {\n e.stopPropagation();\n e.preventDefault();\n },\n getFileName: function (file) {\n /** @namespace file.fileName */\n return file ? file.fileName || file.name || \"\" : \"\"; // some confusion in different versions of Firefox\n },\n createObjectURL: function (data) {\n if ($h.objUrl && $h.objUrl.createObjectURL && data) {\n return $h.objUrl.createObjectURL(data);\n }\n return \"\";\n },\n revokeObjectURL: function (data) {\n if ($h.objUrl && $h.objUrl.revokeObjectURL && data) {\n $h.objUrl.revokeObjectURL(data);\n }\n },\n compare: function (input, str, exact) {\n return input !== undefined && (exact ? input === str : input.match(str));\n },\n isIE: function (ver) {\n var div, status;\n // check for IE versions < 11\n if (navigator.appName !== \"Microsoft Internet Explorer\") {\n return false;\n }\n if (ver === 10) {\n return new RegExp(\"msie\\\\s\" + ver, \"i\").test(navigator.userAgent);\n }\n div = document.createElement(\"div\");\n div.innerHTML = \"\";\n status = div.getElementsByTagName(\"i\").length;\n document.body.appendChild(div);\n div.parentNode.removeChild(div);\n return status;\n },\n canOrientImage: function ($el) {\n var $img = $(document.createElement(\"img\")).css({ width: \"1px\", height: \"1px\" }).insertAfter($el),\n flag = $img.css(\"image-orientation\");\n $img.remove();\n return !!flag;\n },\n canAssignFilesToInput: function () {\n var input = document.createElement(\"input\");\n try {\n input.type = \"file\";\n input.files = null;\n return true;\n } catch (err) {\n return false;\n }\n },\n getDragDropFolders: function (items) {\n var i,\n item,\n len = items ? items.length : 0,\n folders = 0;\n if (len > 0 && items[0].webkitGetAsEntry()) {\n for (i = 0; i < len; i++) {\n item = items[i].webkitGetAsEntry();\n if (item && item.isDirectory) {\n folders++;\n }\n }\n }\n return folders;\n },\n initModal: function ($modal) {\n var $body = $(\"body\");\n if ($body.length) {\n $modal.appendTo($body);\n }\n },\n isFunction: function (v) {\n return typeof v === \"function\";\n },\n isEmpty: function (value, trim) {\n if (value === undefined || value === null || value === \"\") {\n return true;\n }\n if ($h.isString(value) && trim) {\n return $h.trim(value) === \"\";\n }\n if ($h.isArray(value)) {\n return value.length === 0;\n }\n if ($.isPlainObject(value) && $.isEmptyObject(value)) {\n return true;\n }\n return false;\n },\n isArray: function (a) {\n return Array.isArray(a) || Object.prototype.toString.call(a) === \"[object Array]\";\n },\n isString: function (a) {\n return Object.prototype.toString.call(a) === \"[object String]\";\n },\n ifSet: function (needle, haystack, def) {\n def = def || \"\";\n return haystack && typeof haystack === \"object\" && needle in haystack ? haystack[needle] : def;\n },\n cleanArray: function (arr) {\n if (!(arr instanceof Array)) {\n arr = [];\n }\n return arr.filter(function (e) {\n return e !== undefined && e !== null;\n });\n },\n spliceArray: function (arr, index, reverseOrder) {\n var i,\n j = 0,\n out = [],\n newArr;\n if (!(arr instanceof Array)) {\n return [];\n }\n newArr = $.extend(true, [], arr);\n if (reverseOrder) {\n newArr.reverse();\n }\n for (i = 0; i < newArr.length; i++) {\n if (i !== index) {\n out[j] = newArr[i];\n j++;\n }\n }\n if (reverseOrder) {\n out.reverse();\n }\n return out;\n },\n getNum: function (num, def) {\n def = def || 0;\n if (typeof num === \"number\") {\n return num;\n }\n if (typeof num === \"string\") {\n num = parseFloat(num);\n }\n return isNaN(num) ? def : num;\n },\n hasFileAPISupport: function () {\n return !!(window.File && window.FileReader);\n },\n hasDragDropSupport: function () {\n var div = document.createElement(\"div\");\n /** @namespace div.draggable */\n /** @namespace div.ondragstart */\n /** @namespace div.ondrop */\n return (\n !$h.isIE(9) && (div.draggable !== undefined || (div.ondragstart !== undefined && div.ondrop !== undefined))\n );\n },\n hasFileUploadSupport: function () {\n return $h.hasFileAPISupport() && window.FormData;\n },\n hasBlobSupport: function () {\n try {\n return !!window.Blob && Boolean(new Blob());\n } catch (e) {\n return false;\n }\n },\n hasArrayBufferViewSupport: function () {\n try {\n return new Blob([new Uint8Array(100)]).size === 100;\n } catch (e) {\n return false;\n }\n },\n hasResumableUploadSupport: function () {\n /** @namespace Blob.prototype.webkitSlice */\n /** @namespace Blob.prototype.mozSlice */\n return (\n $h.hasFileUploadSupport() &&\n $h.hasBlobSupport() &&\n $h.hasArrayBufferViewSupport() &&\n (!!Blob.prototype.webkitSlice || !!Blob.prototype.mozSlice || !!Blob.prototype.slice || false)\n );\n },\n dataURI2Blob: function (dataURI) {\n var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder,\n canBlob = $h.hasBlobSupport(),\n byteStr,\n arrayBuffer,\n intArray,\n i,\n mimeStr,\n bb,\n canProceed = (canBlob || BlobBuilder) && window.atob && window.ArrayBuffer && window.Uint8Array;\n if (!canProceed) {\n return null;\n }\n if (dataURI.split(\",\")[0].indexOf(\"base64\") >= 0) {\n byteStr = atob(dataURI.split(\",\")[1]);\n } else {\n byteStr = decodeURIComponent(dataURI.split(\",\")[1]);\n }\n arrayBuffer = new ArrayBuffer(byteStr.length);\n intArray = new Uint8Array(arrayBuffer);\n for (i = 0; i < byteStr.length; i += 1) {\n intArray[i] = byteStr.charCodeAt(i);\n }\n mimeStr = dataURI.split(\",\")[0].split(\":\")[1].split(\";\")[0];\n if (canBlob) {\n return new Blob([$h.hasArrayBufferViewSupport() ? intArray : arrayBuffer], { type: mimeStr });\n }\n bb = new BlobBuilder();\n bb.append(arrayBuffer);\n return bb.getBlob(mimeStr);\n },\n arrayBuffer2String: function (buffer) {\n if (window.TextDecoder) {\n return new TextDecoder(\"utf-8\").decode(buffer);\n }\n var array = Array.prototype.slice.apply(new Uint8Array(buffer)),\n out = \"\",\n i = 0,\n len,\n c,\n char2,\n char3;\n len = array.length;\n while (i < len) {\n c = array[i++];\n switch (\n c >> 4 // jshint ignore:line\n ) {\n case 0:\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n case 6:\n case 7:\n // 0xxxxxxx\n out += String.fromCharCode(c);\n break;\n case 12:\n case 13:\n // 110x xxxx 10xx xxxx\n char2 = array[i++];\n out += String.fromCharCode(((c & 0x1f) << 6) | (char2 & 0x3f)); // jshint ignore:line\n break;\n case 14:\n // 1110 xxxx 10xx xxxx 10xx xxxx\n char2 = array[i++];\n char3 = array[i++];\n out += String.fromCharCode(\n ((c & 0x0f) << 12) | // jshint ignore:line\n ((char2 & 0x3f) << 6) | // jshint ignore:line\n ((char3 & 0x3f) << 0)\n ); // jshint ignore:line\n break;\n }\n }\n return out;\n },\n isSvg: function (str) {\n if ($h.isEmpty(str)) {\n return false;\n }\n str = $h.trim(str).replace(/\\n/g, \" \");\n if (str.length === 0) {\n return false;\n }\n return str.match(/^\\s*<\\?xml/i) && (str.match(/\" + str + \"\"));\n },\n uniqId: function () {\n return (new Date().getTime() + Math.floor(Math.random() * Math.pow(10, 15))).toString(36);\n },\n cspBuffer: {\n CSP_ATTRIB: \"data-csp-01928735\", // a randomly named temporary attribute to store the CSP elem id\n domElementsStyles: {},\n stash: function (htmlString) {\n var self = this,\n outerDom = $.parseHTML(\"
\" + htmlString + \"
\"),\n $el = $(outerDom);\n $el.find(\"[style]\").each(function (key, elem) {\n var $elem = $(elem),\n styleDeclaration = $elem[0].style,\n id = $h.uniqId(),\n styles = {};\n if (styleDeclaration && styleDeclaration.length) {\n $(styleDeclaration).each(function () {\n styles[this] = styleDeclaration[this];\n });\n self.domElementsStyles[id] = styles;\n $elem.removeAttr(\"style\").attr(self.CSP_ATTRIB, id);\n }\n });\n $el.filter(\"*\").removeAttr(\"style\"); // make sure all style attr are removed\n var values = Object.values\n ? Object.values(outerDom)\n : Object.keys(outerDom).map(function (itm) {\n return outerDom[itm];\n });\n return values\n .flatMap(function (elem) {\n return elem.innerHTML;\n })\n .join(\"\");\n },\n apply: function (domElement) {\n var self = this,\n $el = $(domElement);\n $el.find(\"[\" + self.CSP_ATTRIB + \"]\").each(function (key, elem) {\n var $elem = $(elem),\n id = $elem.attr(self.CSP_ATTRIB),\n styles = self.domElementsStyles[id];\n if (styles) {\n $elem.css(styles);\n }\n $elem.removeAttr(self.CSP_ATTRIB);\n });\n self.domElementsStyles = {};\n },\n },\n setHtml: function ($elem, htmlString) {\n var buf = $h.cspBuffer;\n $elem.html(buf.stash(htmlString));\n buf.apply($elem);\n return $elem;\n },\n htmlEncode: function (str, undefVal) {\n if (str === undefined) {\n return undefVal || null;\n }\n return str\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n },\n replaceTags: function (str, tags) {\n var out = str;\n if (!tags) {\n return out;\n }\n $.each(tags, function (key, value) {\n if (typeof value === \"function\") {\n value = value();\n }\n out = out.split(key).join(value);\n });\n return out;\n },\n cleanMemory: function ($thumb) {\n var data = $thumb.is(\"img\") ? $thumb.attr(\"src\") : $thumb.find(\"source\").attr(\"src\");\n $h.revokeObjectURL(data);\n },\n findFileName: function (filePath) {\n var sepIndex = filePath.lastIndexOf(\"/\");\n if (sepIndex === -1) {\n sepIndex = filePath.lastIndexOf(\"\\\\\");\n }\n return filePath.split(filePath.substring(sepIndex, sepIndex + 1)).pop();\n },\n checkFullScreen: function () {\n return (\n document.fullscreenElement ||\n document.mozFullScreenElement ||\n document.webkitFullscreenElement ||\n document.msFullscreenElement\n );\n },\n toggleFullScreen: function (maximize) {\n var doc = document,\n de = doc.documentElement,\n isFullScreen = $h.checkFullScreen();\n if (de && maximize && !isFullScreen) {\n if (de.requestFullscreen) {\n de.requestFullscreen();\n } else {\n if (de.msRequestFullscreen) {\n de.msRequestFullscreen();\n } else {\n if (de.mozRequestFullScreen) {\n de.mozRequestFullScreen();\n } else {\n if (de.webkitRequestFullscreen) {\n de.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);\n }\n }\n }\n }\n } else {\n if (isFullScreen) {\n if (doc.exitFullscreen) {\n doc.exitFullscreen();\n } else {\n if (doc.msExitFullscreen) {\n doc.msExitFullscreen();\n } else {\n if (doc.mozCancelFullScreen) {\n doc.mozCancelFullScreen();\n } else {\n if (doc.webkitExitFullscreen) {\n doc.webkitExitFullscreen();\n }\n }\n }\n }\n }\n }\n },\n moveArray: function (arr, oldIndex, newIndex, reverseOrder) {\n var newArr = $.extend(true, [], arr);\n if (reverseOrder) {\n newArr.reverse();\n }\n if (newIndex >= newArr.length) {\n var k = newIndex - newArr.length;\n while (k-- + 1) {\n newArr.push(undefined);\n }\n }\n newArr.splice(newIndex, 0, newArr.splice(oldIndex, 1)[0]);\n if (reverseOrder) {\n newArr.reverse();\n }\n return newArr;\n },\n closeButton: function (css) {\n css = ($h.isBs(5) ? \"btn-close\" : \"close\") + (css ? \" \" + css : \"\");\n return (\n '\"\n );\n },\n getRotation: function (value) {\n switch (value) {\n case 2:\n return \"rotateY(180deg)\";\n case 3:\n return \"rotate(180deg)\";\n case 4:\n return \"rotate(180deg) rotateY(180deg)\";\n case 5:\n return \"rotate(270deg) rotateY(180deg)\";\n case 6:\n return \"rotate(90deg)\";\n case 7:\n return \"rotate(90deg) rotateY(180deg)\";\n case 8:\n return \"rotate(270deg)\";\n default:\n return \"\";\n }\n },\n setTransform: function (el, val) {\n if (!el) {\n return;\n }\n el.style.transform = val;\n el.style.webkitTransform = val;\n el.style[\"-moz-transform\"] = val;\n el.style[\"-ms-transform\"] = val;\n el.style[\"-o-transform\"] = val;\n },\n getObjectKeys: function (obj) {\n var keys = [];\n if (obj) {\n $.each(obj, function (key) {\n keys.push(key);\n });\n }\n return keys;\n },\n getObjectSize: function (obj) {\n return $h.getObjectKeys(obj).length;\n },\n /**\n * Small dependency injection for the task manager\n * https://gist.github.com/fearphage/4341799\n */\n whenAll: function (array) {\n var s = [].slice,\n resolveValues = arguments.length === 1 && $h.isArray(array) ? array : s.call(arguments),\n deferred = $.Deferred(),\n i,\n failed = 0,\n value,\n length = resolveValues.length,\n remaining = length,\n rejectContexts,\n rejectValues,\n resolveContexts,\n updateFunc;\n rejectContexts = rejectValues = resolveContexts = Array(length);\n updateFunc = function (index, contexts, values) {\n return function () {\n if (values !== resolveValues) {\n failed++;\n }\n deferred.notifyWith((contexts[index] = this), (values[index] = s.call(arguments)));\n if (!--remaining) {\n deferred[(!failed ? \"resolve\" : \"reject\") + \"With\"](contexts, values);\n }\n };\n };\n for (i = 0; i < length; i++) {\n if ((value = resolveValues[i]) && $h.isFunction(value.promise)) {\n value\n .promise()\n .done(updateFunc(i, resolveContexts, resolveValues))\n .fail(updateFunc(i, rejectContexts, rejectValues));\n } else {\n deferred.notifyWith(this, value);\n --remaining;\n }\n }\n if (!remaining) {\n deferred.resolveWith(resolveContexts, resolveValues);\n }\n return deferred.promise();\n },\n };\n FileInput = function (element, options) {\n var self = this;\n self.$element = $(element);\n self.$parent = self.$element.parent();\n if (!self._validate()) {\n return;\n }\n self.isPreviewable = $h.hasFileAPISupport();\n self.isIE9 = $h.isIE(9);\n self.isIE10 = $h.isIE(10);\n if (self.isPreviewable || self.isIE9) {\n self._init(options);\n self._listen();\n }\n self.$element.removeClass(\"file-loading\");\n };\n\n FileInput.prototype = {\n constructor: FileInput,\n _cleanup: function () {\n var self = this;\n self.reader = null;\n self.clearFileStack();\n self.fileBatchCompleted = true;\n self.isError = false;\n self.isDuplicateError = false;\n self.isPersistentError = false;\n self.cancelling = false;\n self.paused = false;\n self.lastProgress = 0;\n self._initAjax();\n },\n _isAborted: function () {\n var self = this;\n return self.cancelling || self.paused;\n },\n _initAjax: function () {\n var self = this,\n tm = (self.taskManager = {\n pool: {},\n addPool: function (id) {\n return (tm.pool[id] = new tm.TasksPool(id));\n },\n getPool: function (id) {\n return tm.pool[id];\n },\n addTask: function (id, logic) {\n // add standalone task directly from task manager\n return new tm.Task(id, logic);\n },\n TasksPool: function (id) {\n var tp = this;\n tp.id = id;\n tp.cancelled = false;\n tp.cancelledDeferrer = $.Deferred();\n tp.tasks = {};\n tp.addTask = function (id, logic) {\n return (tp.tasks[id] = new tm.Task(id, logic));\n };\n tp.size = function () {\n return $h.getObjectSize(tp.tasks);\n };\n tp.run = function (maxThreads) {\n var i = 0,\n failed = false,\n task,\n tasksList = $h.getObjectKeys(tp.tasks).map(function (key) {\n return tp.tasks[key];\n }),\n tasksDone = [],\n deferred = $.Deferred(),\n enqueue,\n callback;\n\n if (tp.cancelled) {\n tp.cancelledDeferrer.resolve();\n return deferred.reject();\n }\n // if run all at once\n if (!maxThreads) {\n var tasksDeferredList = $h.getObjectKeys(tp.tasks).map(function (key) {\n return tp.tasks[key].deferred;\n });\n // when all are done\n $h.whenAll(tasksDeferredList)\n .done(function () {\n var argv = $h.getArray(arguments);\n if (!tp.cancelled) {\n deferred.resolve.apply(null, argv);\n tp.cancelledDeferrer.reject();\n } else {\n deferred.reject.apply(null, argv);\n tp.cancelledDeferrer.resolve();\n }\n })\n .fail(function () {\n var argv = $h.getArray(arguments);\n deferred.reject.apply(null, argv);\n if (!tp.cancelled) {\n tp.cancelledDeferrer.reject();\n } else {\n tp.cancelledDeferrer.resolve();\n }\n });\n // run all tasks\n $.each(tp.tasks, function (id) {\n task = tp.tasks[id];\n task.run();\n });\n return deferred;\n }\n enqueue = function (task) {\n $.when(task.deferred)\n .fail(function () {\n failed = true;\n callback.apply(null, arguments);\n })\n .always(callback);\n };\n callback = function () {\n var argv = $h.getArray(arguments);\n // notify a task just ended\n deferred.notify(argv);\n tasksDone.push(argv);\n if (tp.cancelled) {\n deferred.reject.apply(null, tasksDone);\n tp.cancelledDeferrer.resolve();\n return;\n }\n if (tasksDone.length === tp.size()) {\n if (failed) {\n deferred.reject.apply(null, tasksDone);\n } else {\n deferred.resolve.apply(null, tasksDone);\n }\n }\n // if there are any tasks remaining\n if (tasksList.length) {\n task = tasksList.shift();\n enqueue(task);\n task.run();\n }\n };\n // run the first \"maxThreads\" tasks\n while (tasksList.length && i++ < maxThreads) {\n task = tasksList.shift();\n enqueue(task);\n task.run();\n }\n return deferred;\n };\n tp.cancel = function () {\n tp.cancelled = true;\n return tp.cancelledDeferrer;\n };\n },\n Task: function (id, logic) {\n var tk = this;\n tk.id = id;\n tk.deferred = $.Deferred();\n tk.logic = logic;\n tk.context = null;\n tk.run = function () {\n var argv = $h.getArray(arguments);\n argv.unshift(tk.deferred); // add deferrer as first argument\n logic.apply(tk.context, argv); // run task\n return tk.deferred; // return deferrer\n };\n tk.runWithContext = function (context) {\n tk.context = context;\n return tk.run();\n };\n },\n });\n self.ajaxQueue = [];\n self.ajaxRequests = [];\n self.ajaxPool = null;\n self.ajaxAborted = false;\n },\n _init: function (options, refreshMode) {\n var self = this,\n f,\n $el = self.$element,\n $cont,\n t,\n tmp;\n self.options = options;\n self.zoomPlaceholder = $h.getZoomPlaceholder();\n self.canOrientImage = $h.canOrientImage($el);\n $.each(options, function (key, value) {\n switch (key) {\n case \"minFileCount\":\n case \"maxFileCount\":\n case \"maxTotalFileCount\":\n case \"minFileSize\":\n case \"maxFileSize\":\n case \"maxMultipleFileSize\":\n case \"maxFilePreviewSize\":\n case \"resizeQuality\":\n case \"resizeIfSizeMoreThan\":\n case \"progressUploadThreshold\":\n case \"initialPreviewCount\":\n case \"zoomModalHeight\":\n case \"minImageHeight\":\n case \"maxImageHeight\":\n case \"minImageWidth\":\n case \"maxImageWidth\":\n case \"bytesToKB\":\n self[key] = $h.getNum(value);\n break;\n default:\n self[key] = value;\n break;\n }\n });\n if (!self.bytesToKB || self.bytesToKB <= 0) {\n self.bytesToKB = 1024;\n }\n if (self.errorCloseButton === undefined) {\n self.errorCloseButton = $h.closeButton(\"kv-error-close\" + ($h.isBs(5) ? \" float-end\" : \"\"));\n }\n if (self.maxTotalFileCount > 0 && self.maxTotalFileCount < self.maxFileCount) {\n self.maxTotalFileCount = self.maxFileCount;\n }\n if (self.rtl) {\n // swap buttons for rtl\n tmp = self.previewZoomButtonIcons.prev;\n self.previewZoomButtonIcons.prev = self.previewZoomButtonIcons.next;\n self.previewZoomButtonIcons.next = tmp;\n }\n // validate chunk threads to not exceed maxAjaxThreads\n if (!isNaN(self.maxAjaxThreads) && self.maxAjaxThreads < self.resumableUploadOptions.maxThreads) {\n self.resumableUploadOptions.maxThreads = self.maxAjaxThreads;\n }\n self._initFileManager();\n if (typeof self.autoOrientImage === \"function\") {\n self.autoOrientImage = self.autoOrientImage();\n }\n if (typeof self.autoOrientImageInitial === \"function\") {\n self.autoOrientImageInitial = self.autoOrientImageInitial();\n }\n if (!refreshMode) {\n self._cleanup();\n }\n self.duplicateErrors = [];\n self.$form = $el.closest(\"form\");\n self._initTemplateDefaults();\n self.uploadFileAttr = !$h.isEmpty($el.attr(\"name\")) ? $el.attr(\"name\") : \"file_data\";\n t = self._getLayoutTemplate(\"progress\");\n self.progressTemplate = t.replace(\"{class}\", self.progressClass);\n self.progressInfoTemplate = t.replace(\"{class}\", self.progressInfoClass);\n self.progressPauseTemplate = t.replace(\"{class}\", self.progressPauseClass);\n self.progressCompleteTemplate = t.replace(\"{class}\", self.progressCompleteClass);\n self.progressErrorTemplate = t.replace(\"{class}\", self.progressErrorClass);\n self.isDisabled = $el.attr(\"disabled\") || $el.attr(\"readonly\");\n if (self.isDisabled) {\n $el.attr(\"disabled\", true);\n }\n self.isClickable =\n self.browseOnZoneClick && self.showPreview && (self.dropZoneEnabled || !$h.isEmpty(self.defaultPreviewContent));\n self.isAjaxUpload = $h.hasFileUploadSupport() && !$h.isEmpty(self.uploadUrl);\n self.dropZoneEnabled = $h.hasDragDropSupport() && self.dropZoneEnabled;\n if (!self.isAjaxUpload) {\n self.dropZoneEnabled = self.dropZoneEnabled && $h.canAssignFilesToInput();\n }\n self.slug = typeof options.slugCallback === \"function\" ? options.slugCallback : self._slugDefault;\n self.mainTemplate = self.showCaption ? self._getLayoutTemplate(\"main1\") : self._getLayoutTemplate(\"main2\");\n self.captionTemplate = self._getLayoutTemplate(\"caption\");\n self.previewGenericTemplate = self._getPreviewTemplate(\"generic\");\n if (!self.imageCanvas && self.resizeImage && (self.maxImageWidth || self.maxImageHeight)) {\n self.imageCanvas = document.createElement(\"canvas\");\n self.imageCanvasContext = self.imageCanvas.getContext(\"2d\");\n }\n if ($h.isEmpty($el.attr(\"id\"))) {\n $el.attr(\"id\", $h.uniqId());\n }\n self.namespace = \".fileinput_\" + $el.attr(\"id\").replace(/-/g, \"_\");\n if (self.$container === undefined) {\n self.$container = self._createContainer();\n } else {\n self._refreshContainer();\n }\n $cont = self.$container;\n self.$dropZone = $cont.find(\".file-drop-zone\");\n self.$progress = $cont.find(\".kv-upload-progress\");\n self.$btnUpload = $cont.find(\".fileinput-upload\");\n self.$captionContainer = $h.getElement(options, \"elCaptionContainer\", $cont.find(\".file-caption\"));\n self.$caption = $h.getElement(options, \"elCaptionText\", $cont.find(\".file-caption-name\"));\n if (!$h.isEmpty(self.msgPlaceholder)) {\n f = $el.attr(\"multiple\") ? self.filePlural : self.fileSingle;\n self.$caption.attr(\"placeholder\", self.msgPlaceholder.replace(\"{files}\", f));\n }\n self.$captionIcon = self.$captionContainer.find(\".file-caption-icon\");\n self.$previewContainer = $h.getElement(options, \"elPreviewContainer\", $cont.find(\".file-preview\"));\n self.$preview = $h.getElement(options, \"elPreviewImage\", $cont.find(\".file-preview-thumbnails\"));\n self.$previewStatus = $h.getElement(options, \"elPreviewStatus\", $cont.find(\".file-preview-status\"));\n self.$errorContainer = $h.getElement(\n options,\n \"elErrorContainer\",\n self.$previewContainer.find(\".kv-fileinput-error\")\n );\n self._validateDisabled();\n if (!$h.isEmpty(self.msgErrorClass)) {\n $h.addCss(self.$errorContainer, self.msgErrorClass);\n }\n if (!refreshMode) {\n self._resetErrors();\n self.$errorContainer.hide();\n self.previewInitId = \"thumb-\" + $el.attr(\"id\");\n self._initPreviewCache();\n self._initPreview(true);\n self._initPreviewActions();\n if (self.$parent.hasClass(\"file-loading\")) {\n self.$container.insertBefore(self.$parent);\n self.$parent.remove();\n }\n } else {\n if (!self._errorsExist()) {\n self.$errorContainer.hide();\n }\n }\n self._setFileDropZoneTitle();\n if ($el.attr(\"disabled\")) {\n self.disable();\n }\n self._initZoom();\n if (self.hideThumbnailContent) {\n $h.addCss(self.$preview, \"hide-content\");\n }\n },\n _initFileManager: function () {\n var self = this;\n self.uploadStartTime = $h.now();\n self.fileManager = {\n stack: {},\n filesProcessed: [],\n errors: [],\n loadedImages: {},\n totalImages: 0,\n totalFiles: null,\n totalSize: null,\n uploadedSize: 0,\n stats: {},\n bpsLog: [],\n bps: 0,\n initStats: function (id) {\n var data = { started: $h.now() };\n if (id) {\n self.fileManager.stats[id] = data;\n } else {\n self.fileManager.stats = data;\n }\n },\n getUploadStats: function (id, loaded, total) {\n var fm = self.fileManager,\n started = id ? (fm.stats[id] && fm.stats[id].started) || $h.now() : self.uploadStartTime,\n elapsed = ($h.now() - started) / 1000,\n bps = Math.ceil(elapsed ? loaded / elapsed : 0),\n pendingBytes = total - loaded,\n out,\n delay = fm.bpsLog.length ? self.bitrateUpdateDelay : 0;\n setTimeout(function () {\n var i,\n j = 0,\n n = 0,\n len,\n beg;\n fm.bpsLog.push(bps);\n fm.bpsLog.sort(function (a, b) {\n return a - b;\n });\n len = fm.bpsLog.length;\n beg = len > 10 ? len - 10 : Math.ceil(len / 2);\n for (i = len; i > beg; i--) {\n n = parseFloat(fm.bpsLog[i]);\n j++;\n }\n fm.bps = (j > 0 ? n / j : 0) * 64;\n }, delay);\n out = {\n fileId: id,\n started: started,\n elapsed: elapsed,\n loaded: loaded,\n total: total,\n bps: fm.bps,\n bitrate: self._getSize(fm.bps, false, self.bitRateUnits),\n pendingBytes: pendingBytes,\n };\n if (id) {\n fm.stats[id] = out;\n } else {\n fm.stats = out;\n }\n return out;\n },\n exists: function (id) {\n return $.inArray(id, self.fileManager.getIdList()) !== -1;\n },\n count: function () {\n return self.fileManager.getIdList().length;\n },\n total: function () {\n var fm = self.fileManager;\n if (!fm.totalFiles) {\n fm.totalFiles = fm.count();\n }\n return fm.totalFiles;\n },\n getTotalSize: function () {\n var fm = self.fileManager;\n if (fm.totalSize) {\n return fm.totalSize;\n }\n fm.totalSize = 0;\n $.each(self.getFileStack(), function (id, f) {\n var size = parseFloat(f.size);\n fm.totalSize += isNaN(size) ? 0 : size;\n });\n return fm.totalSize;\n },\n add: function (file, id) {\n if (!id) {\n id = self.fileManager.getId(file);\n }\n if (!id) {\n return;\n }\n self.fileManager.stack[id] = {\n file: file,\n name: $h.getFileName(file),\n relativePath: $h.getFileRelativePath(file),\n size: file.size,\n nameFmt: self._getFileName(file, \"\"),\n sizeFmt: self._getSize(file.size),\n };\n },\n remove: function ($thumb) {\n var id = self._getThumbFileId($thumb);\n self.fileManager.removeFile(id);\n },\n removeFile: function (id) {\n var fm = self.fileManager;\n if (!id) {\n return;\n }\n delete fm.stack[id];\n delete fm.loadedImages[id];\n },\n move: function (idFrom, idTo) {\n var result = {},\n stack = self.fileManager.stack;\n if ((!idFrom && !idTo) || idFrom === idTo) {\n return;\n }\n $.each(stack, function (k, v) {\n if (k !== idFrom) {\n result[k] = v;\n }\n if (k === idTo) {\n result[idFrom] = stack[idFrom];\n }\n });\n self.fileManager.stack = result;\n },\n list: function () {\n var files = [];\n $.each(self.getFileStack(), function (k, v) {\n if (v && v.file) {\n files.push(v.file);\n }\n });\n return files;\n },\n isPending: function (id) {\n return $.inArray(id, self.fileManager.filesProcessed) === -1 && self.fileManager.exists(id);\n },\n isProcessed: function () {\n var filesProcessed = true,\n fm = self.fileManager;\n $.each(self.getFileStack(), function (id) {\n if (fm.isPending(id)) {\n filesProcessed = false;\n }\n });\n return filesProcessed;\n },\n clear: function () {\n var fm = self.fileManager;\n self.isDuplicateError = false;\n self.isPersistentError = false;\n fm.totalFiles = null;\n fm.totalSize = null;\n fm.uploadedSize = 0;\n fm.stack = {};\n fm.errors = [];\n fm.filesProcessed = [];\n fm.stats = {};\n fm.bpsLog = [];\n fm.bps = 0;\n fm.clearImages();\n },\n clearImages: function () {\n self.fileManager.loadedImages = {};\n self.fileManager.totalImages = 0;\n },\n addImage: function (id, config) {\n self.fileManager.loadedImages[id] = config;\n },\n removeImage: function (id) {\n delete self.fileManager.loadedImages[id];\n },\n getImageIdList: function () {\n return $h.getObjectKeys(self.fileManager.loadedImages);\n },\n getImageCount: function () {\n return self.fileManager.getImageIdList().length;\n },\n getId: function (file) {\n return self._getFileId(file);\n },\n getIndex: function (id) {\n return self.fileManager.getIdList().indexOf(id);\n },\n getThumb: function (id) {\n var $thumb = null;\n self._getThumbs().each(function () {\n var $t = $(this);\n if (self._getThumbFileId($t) === id) {\n $thumb = $t;\n }\n });\n return $thumb;\n },\n getThumbIndex: function ($thumb) {\n var id = self._getThumbFileId($thumb);\n return self.fileManager.getIndex(id);\n },\n getIdList: function () {\n return $h.getObjectKeys(self.fileManager.stack);\n },\n getFile: function (id) {\n return self.fileManager.stack[id] || null;\n },\n getFileName: function (id, fmt) {\n var file = self.fileManager.getFile(id);\n if (!file) {\n return \"\";\n }\n return fmt ? file.nameFmt || \"\" : file.name || \"\";\n },\n getFirstFile: function () {\n var ids = self.fileManager.getIdList(),\n id = ids && ids.length ? ids[0] : null;\n return self.fileManager.getFile(id);\n },\n setFile: function (id, file) {\n if (self.fileManager.getFile(id)) {\n self.fileManager.stack[id].file = file;\n } else {\n self.fileManager.add(file, id);\n }\n },\n setProcessed: function (id) {\n self.fileManager.filesProcessed.push(id);\n },\n getProgress: function () {\n var total = self.fileManager.total(),\n filesProcessed = self.fileManager.filesProcessed.length;\n if (!total) {\n return 0;\n }\n return Math.ceil((filesProcessed / total) * 100);\n },\n setProgress: function (id, pct) {\n var f = self.fileManager.getFile(id);\n if (!isNaN(pct) && f) {\n f.progress = pct;\n }\n },\n };\n },\n _setUploadData: function (fd, config) {\n var self = this;\n $.each(config, function (key, value) {\n var param = self.uploadParamNames[key] || key;\n if ($h.isArray(value)) {\n fd.append(param, value[0], value[1]);\n } else {\n fd.append(param, value);\n }\n });\n },\n _initResumableUpload: function () {\n var self = this,\n opts = self.resumableUploadOptions,\n logs = $h.logMessages,\n rm,\n fm = self.fileManager;\n if (!self.enableResumableUpload) {\n return;\n }\n if (opts.fallback !== false && typeof opts.fallback !== \"function\") {\n opts.fallback = function (s) {\n s._log(logs.noResumableSupport);\n s.enableResumableUpload = false;\n };\n }\n if (!$h.hasResumableUploadSupport() && opts.fallback !== false) {\n opts.fallback(self);\n return;\n }\n if (!self.uploadUrl && self.enableResumableUpload) {\n self._log(logs.noUploadUrl);\n self.enableResumableUpload = false;\n return;\n }\n opts.chunkSize = parseFloat(opts.chunkSize);\n if (opts.chunkSize <= 0 || isNaN(opts.chunkSize)) {\n self._log(logs.invalidChunkSize, { chunkSize: opts.chunkSize });\n self.enableResumableUpload = false;\n return;\n }\n rm = self.resumableManager = {\n init: function (id, f, index) {\n rm.logs = [];\n rm.stack = [];\n rm.error = \"\";\n rm.id = id;\n rm.file = f.file;\n rm.fileName = f.name;\n rm.fileIndex = index;\n rm.completed = false;\n rm.lastProgress = 0;\n if (self.showPreview) {\n rm.$thumb = fm.getThumb(id) || null;\n rm.$progress = rm.$btnDelete = null;\n if (rm.$thumb && rm.$thumb.length) {\n rm.$progress = rm.$thumb.find(\".file-thumb-progress\");\n rm.$btnDelete = rm.$thumb.find(\".kv-file-remove\");\n }\n }\n rm.chunkSize = opts.chunkSize * self.bytesToKB;\n rm.chunkCount = rm.getTotalChunks();\n },\n setAjaxError: function (jqXHR, textStatus, errorThrown, isTest) {\n if (jqXHR.responseJSON && jqXHR.responseJSON.error) {\n errorThrown = jqXHR.responseJSON.error.toString();\n }\n if (!isTest) {\n rm.error = errorThrown;\n }\n if (opts.showErrorLog) {\n self._log(logs.ajaxError, {\n status: jqXHR.status,\n error: errorThrown,\n text: jqXHR.responseText || \"\",\n });\n }\n },\n reset: function () {\n rm.stack = [];\n rm.chunksProcessed = {};\n },\n setProcessed: function (status) {\n var id = rm.id,\n msg,\n $thumb = rm.$thumb,\n $prog = rm.$progress,\n hasThumb = $thumb && $thumb.length,\n params = { id: hasThumb ? $thumb.attr(\"id\") : \"\", index: fm.getIndex(id), fileId: id },\n tokens,\n skipErrorsAndProceed = self.resumableUploadOptions.skipErrorsAndProceed;\n rm.completed = true;\n rm.lastProgress = 0;\n if (hasThumb) {\n $thumb.removeClass(\"file-uploading\");\n }\n if (status === \"success\") {\n fm.uploadedSize += rm.file.size;\n if (self.showPreview) {\n self._setProgress(101, $prog);\n self._setThumbStatus($thumb, \"Success\");\n self._initUploadSuccess(rm.chunksProcessed[id].data, $thumb);\n }\n fm.removeFile(id);\n delete rm.chunksProcessed[id];\n self._raise(\"fileuploaded\", [params.id, params.index, params.fileId]);\n if (fm.isProcessed()) {\n self._setProgress(101);\n }\n } else {\n if (status !== \"cancel\") {\n if (self.showPreview) {\n self._setThumbStatus($thumb, \"Error\");\n self._setPreviewError($thumb, true);\n self._setProgress(101, $prog, self.msgProgressError);\n self._setProgress(101, self.$progress, self.msgProgressError);\n self.cancelling = !skipErrorsAndProceed;\n }\n if (!self.$errorContainer.find('li[data-file-id=\"' + params.fileId + '\"]').length) {\n tokens = { file: rm.fileName, max: opts.maxRetries, error: rm.error };\n msg = self.msgResumableUploadRetriesExceeded.setTokens(tokens);\n $.extend(params, tokens);\n self._showFileError(msg, params, \"filemaxretries\");\n if (skipErrorsAndProceed) {\n fm.removeFile(id);\n delete rm.chunksProcessed[id];\n if (fm.isProcessed()) {\n self._setProgress(101);\n }\n }\n }\n }\n }\n if (fm.isProcessed()) {\n rm.reset();\n }\n },\n check: function () {\n var status = true;\n $.each(rm.logs, function (index, value) {\n if (!value) {\n status = false;\n return false;\n }\n });\n },\n processedResumables: function () {\n var logs = rm.logs,\n i,\n count = 0;\n if (!logs || !logs.length) {\n return 0;\n }\n for (i = 0; i < logs.length; i++) {\n if (logs[i] === true) {\n count++;\n }\n }\n return count;\n },\n getUploadedSize: function () {\n var size = rm.processedResumables() * rm.chunkSize;\n return size > rm.file.size ? rm.file.size : size;\n },\n getTotalChunks: function () {\n var chunkSize = parseFloat(rm.chunkSize);\n if (!isNaN(chunkSize) && chunkSize > 0) {\n return Math.ceil(rm.file.size / chunkSize);\n }\n return 0;\n },\n getProgress: function () {\n var chunksProcessed = rm.processedResumables(),\n total = rm.chunkCount;\n if (total === 0) {\n return 0;\n }\n return Math.ceil((chunksProcessed / total) * 100);\n },\n checkAborted: function (intervalId) {\n if (self._isAborted()) {\n clearInterval(intervalId);\n self.unlock();\n }\n },\n upload: function () {\n var ids = fm.getIdList(),\n flag = \"new\",\n intervalId;\n intervalId = setInterval(function () {\n var id;\n rm.checkAborted(intervalId);\n if (flag === \"new\") {\n self.lock();\n flag = \"processing\";\n id = ids.shift();\n fm.initStats(id);\n if (fm.stack[id]) {\n rm.init(id, fm.stack[id], fm.getIndex(id));\n rm.processUpload();\n }\n }\n if (!fm.isPending(id) && rm.completed) {\n flag = \"new\";\n }\n if (fm.isProcessed()) {\n var $initThumbs = self.$preview.find(\".file-preview-initial\");\n if ($initThumbs.length) {\n $h.addCss($initThumbs, $h.SORT_CSS);\n self._initSortable();\n }\n clearInterval(intervalId);\n self._clearFileInput();\n self.unlock();\n setTimeout(function () {\n var data = self.previewCache.data;\n if (data) {\n self.initialPreview = data.content;\n self.initialPreviewConfig = data.config;\n self.initialPreviewThumbTags = data.tags;\n }\n self._raise(\"filebatchuploadcomplete\", [\n self.initialPreview,\n self.initialPreviewConfig,\n self.initialPreviewThumbTags,\n self._getExtraData(),\n ]);\n }, self.processDelay);\n }\n }, self.processDelay);\n },\n uploadResumable: function () {\n var i,\n pool,\n tm = self.taskManager,\n total = rm.chunkCount;\n pool = tm.addPool(rm.id);\n for (i = 0; i < total; i++) {\n rm.logs[i] = !!(rm.chunksProcessed[rm.id] && rm.chunksProcessed[rm.id][i]);\n if (!rm.logs[i]) {\n rm.pushAjax(i, 0);\n }\n }\n pool\n .run(opts.maxThreads)\n .done(function () {\n rm.setProcessed(\"success\");\n })\n .fail(function () {\n rm.setProcessed(pool.cancelled ? \"cancel\" : \"error\");\n });\n },\n processUpload: function () {\n var fd,\n f,\n id = rm.id,\n fnBefore,\n fnSuccess,\n fnError,\n fnComplete,\n outData;\n if (!opts.testUrl) {\n rm.uploadResumable();\n return;\n }\n fd = new FormData();\n f = fm.stack[id];\n self._setUploadData(fd, {\n fileId: id,\n fileName: f.fileName,\n fileSize: f.size,\n fileRelativePath: f.relativePath,\n chunkSize: rm.chunkSize,\n chunkCount: rm.chunkCount,\n });\n fnBefore = function (jqXHR) {\n outData = self._getOutData(fd, jqXHR);\n self._raise(\"filetestbeforesend\", [id, fm, rm, outData]);\n };\n fnSuccess = function (data, textStatus, jqXHR) {\n outData = self._getOutData(fd, jqXHR, data);\n var pNames = self.uploadParamNames,\n chunksUploaded = pNames.chunksUploaded || \"chunksUploaded\",\n params = [id, fm, rm, outData];\n if (!data[chunksUploaded] || !$h.isArray(data[chunksUploaded])) {\n self._raise(\"filetesterror\", params);\n } else {\n if (!rm.chunksProcessed[id]) {\n rm.chunksProcessed[id] = {};\n }\n $.each(data[chunksUploaded], function (key, index) {\n rm.logs[index] = true;\n rm.chunksProcessed[id][index] = true;\n });\n rm.chunksProcessed[id].data = data;\n self._raise(\"filetestsuccess\", params);\n }\n rm.uploadResumable();\n };\n fnError = function (jqXHR, textStatus, errorThrown) {\n outData = self._getOutData(fd, jqXHR);\n self._raise(\"filetestajaxerror\", [id, fm, rm, outData]);\n rm.setAjaxError(jqXHR, textStatus, errorThrown, true);\n rm.uploadResumable();\n };\n fnComplete = function () {\n self._raise(\"filetestcomplete\", [id, fm, rm, self._getOutData(fd)]);\n };\n self._ajaxSubmit(fnBefore, fnSuccess, fnComplete, fnError, fd, id, rm.fileIndex, opts.testUrl);\n },\n pushAjax: function (index, retry) {\n var tm = self.taskManager,\n pool = tm.getPool(rm.id);\n pool.addTask(pool.size() + 1, function (deferrer) {\n // use fifo chunk stack\n var arr = rm.stack.shift(),\n index;\n index = arr[0];\n if (!rm.chunksProcessed[rm.id] || !rm.chunksProcessed[rm.id][index]) {\n rm.sendAjax(index, arr[1], deferrer);\n } else {\n self._log(logs.chunkQueueError, { index: index });\n }\n });\n rm.stack.push([index, retry]);\n },\n sendAjax: function (index, retry, deferrer) {\n var f,\n chunkSize = rm.chunkSize,\n id = rm.id,\n file = rm.file,\n $thumb = rm.$thumb,\n msgs = $h.logMessages,\n $btnDelete = rm.$btnDelete,\n logError = function (msg, tokens) {\n if (tokens) {\n msg = msg.setTokens(tokens);\n }\n msg = msgs.resumableRequestError.setTokens({ msg: msg });\n self._log(msg);\n deferrer.reject(msg);\n };\n if (rm.chunksProcessed[id] && rm.chunksProcessed[id][index]) {\n return;\n }\n if (retry > opts.maxRetries) {\n logError(msgs.resumableMaxRetriesReached, { n: opts.maxRetries });\n rm.setProcessed(\"error\");\n return;\n }\n var fd,\n outData,\n fnBefore,\n fnSuccess,\n fnError,\n fnComplete,\n slice = file.slice ? \"slice\" : file.mozSlice ? \"mozSlice\" : file.webkitSlice ? \"webkitSlice\" : \"slice\",\n blob = file[slice](chunkSize * index, chunkSize * (index + 1));\n fd = new FormData();\n f = fm.stack[id];\n self._setUploadData(fd, {\n chunkCount: rm.chunkCount,\n chunkIndex: index,\n chunkSize: chunkSize,\n chunkSizeStart: chunkSize * index,\n fileBlob: [blob, rm.fileName],\n fileId: id,\n fileName: rm.fileName,\n fileRelativePath: f.relativePath,\n fileSize: file.size,\n retryCount: retry,\n });\n if (rm.$progress && rm.$progress.length) {\n rm.$progress.show();\n }\n fnBefore = function (jqXHR) {\n outData = self._getOutData(fd, jqXHR);\n if (self.showPreview) {\n if (!$thumb.hasClass(\"file-preview-success\")) {\n self._setThumbStatus($thumb, \"Loading\");\n $h.addCss($thumb, \"file-uploading\");\n }\n $btnDelete.attr(\"disabled\", true);\n }\n self._raise(\"filechunkbeforesend\", [id, index, retry, fm, rm, outData]);\n };\n fnSuccess = function (data, textStatus, jqXHR) {\n if (self._isAborted()) {\n logError(msgs.resumableAborting);\n return;\n }\n outData = self._getOutData(fd, jqXHR, data);\n var paramNames = self.uploadParamNames,\n chunkIndex = paramNames.chunkIndex || \"chunkIndex\",\n params = [id, index, retry, fm, rm, outData];\n if (data.error) {\n if (opts.showErrorLog) {\n self._log(logs.retryStatus, {\n retry: retry + 1,\n filename: rm.fileName,\n chunk: index,\n });\n }\n self._raise(\"filechunkerror\", params);\n rm.pushAjax(index, retry + 1);\n rm.error = data.error;\n logError(data.error);\n } else {\n rm.logs[data[chunkIndex]] = true;\n if (!rm.chunksProcessed[id]) {\n rm.chunksProcessed[id] = {};\n }\n rm.chunksProcessed[id][data[chunkIndex]] = true;\n rm.chunksProcessed[id].data = data;\n deferrer.resolve.call(null, data);\n self._raise(\"filechunksuccess\", params);\n rm.check();\n }\n };\n fnError = function (jqXHR, textStatus, errorThrown) {\n if (self._isAborted()) {\n logError(msgs.resumableAborting);\n return;\n }\n outData = self._getOutData(fd, jqXHR);\n rm.setAjaxError(jqXHR, textStatus, errorThrown);\n self._raise(\"filechunkajaxerror\", [id, index, retry, fm, rm, outData]);\n rm.pushAjax(index, retry + 1); // push another task\n logError(msgs.resumableRetryError, { n: retry - 1 }); // resolve the current task\n };\n fnComplete = function () {\n if (!self._isAborted()) {\n self._raise(\"filechunkcomplete\", [id, index, retry, fm, rm, self._getOutData(fd)]);\n }\n };\n self._ajaxSubmit(fnBefore, fnSuccess, fnComplete, fnError, fd, id, rm.fileIndex);\n },\n };\n rm.reset();\n },\n _initTemplateDefaults: function () {\n var self = this,\n tMain1,\n tMain2,\n tPreview,\n tFileIcon,\n tClose,\n tCaption,\n tBtnDefault,\n tBtnLink,\n tBtnBrowse,\n tModalMain,\n tModal,\n tProgress,\n tSize,\n tFooter,\n tActions,\n tActionDelete,\n tActionUpload,\n tActionDownload,\n tActionZoom,\n tActionDrag,\n tIndicator,\n tTagBef,\n tTagBef1,\n tTagBef2,\n tTagAft,\n tGeneric,\n tHtml,\n tImage,\n tText,\n tOffice,\n tGdocs,\n tVideo,\n tAudio,\n tFlash,\n tObject,\n tPdf,\n tOther,\n tStyle,\n tZoomCache,\n vDefaultDim,\n tActionRotate,\n tStats,\n tModalLabel,\n tDescClose,\n renderObject = function (type, mime) {\n return (\n '\\n\" +\n $h.DEFAULT_PREVIEW +\n \"\\n\\n\"\n );\n },\n defBtnCss1 = \"btn btn-sm btn-kv \" + $h.defaultButtonCss();\n tMain1 =\n \"{preview}\\n\" +\n '
\\n' +\n '
\\n' +\n '
\\n' +\n ' {caption}\\n\\n' +\n ($h.isBs(5) ? \"\" : '
\\n') +\n \" {remove}\\n\" +\n \" {cancel}\\n\" +\n \" {pause}\\n\" +\n \" {upload}\\n\" +\n \" {browse}\\n\" +\n ($h.isBs(5) ? \"\" : \"
\\n\") +\n \"
\";\n (\"
\");\n tMain2 =\n '{preview}\\n
\\n
\\n' +\n '{remove}\\n{cancel}\\n{upload}\\n{browse}\\n';\n tPreview =\n '
\\n' +\n \" {close}\" +\n '
\\n' +\n '
\\n' +\n \"
\\n\" +\n '
\\n' +\n '
\\n' +\n \"
\\n\" +\n \"
\";\n tClose = $h.closeButton(\"fileinput-remove\");\n tFileIcon = '';\n // noinspection HtmlUnknownAttribute\n tCaption = '\\n';\n //noinspection HtmlUnknownAttribute\n tBtnDefault =\n '\";\n //noinspection HtmlUnknownTarget,HtmlUnknownAttribute\n tBtnLink = '{icon} {label}';\n //noinspection HtmlUnknownAttribute\n tBtnBrowse = '
{icon} {label}
';\n tModalLabel = $h.MODAL_ID + \"Label\";\n tModalMain =\n '
';\n tModal =\n '
\\n' +\n '
\\n' +\n '
\\n' +\n '
\\n' +\n '
{rotate}{toggleheader}{fullscreen}{borderless}{close}
\\n' +\n \"
\\n\" +\n '
\\n' +\n '
\\n' +\n \"{prev} {next}\\n\" +\n '
\\n' +\n \"
\\n\" +\n \"
\\n\";\n tDescClose = '';\n tProgress =\n '
\\n' +\n '
\\n' +\n \" {status}\\n\" +\n \"
\\n\" +\n \"
{stats}\";\n tStats =\n '
' +\n '{pendingTime} ' +\n '{uploadSpeed}' +\n \"
\";\n tSize = \" ({sizeText})\";\n tFooter =\n '
\\n' +\n ' \\n\" +\n \" {progress}\\n{indicator}\\n{actions}\\n\" +\n \"
\";\n tActions =\n '
\\n' +\n ' \\n\" +\n \"
\\n\" +\n \"{drag}\\n\" +\n '
';\n //noinspection HtmlUnknownAttribute\n tActionDelete =\n '\\n';\n tActionUpload =\n '\";\n tActionRotate =\n '\";\n tActionDownload =\n '{downloadIcon}';\n tActionZoom =\n '';\n tActionDrag = '{dragIcon}';\n tIndicator = '
{indicator}
';\n tTagBef =\n '
\\n';\n tTagBef2 = tTagBef + ' title=\"{caption}\">
\\n';\n tTagAft = \"
{footer}\\n{zoomCache}
\\n\";\n tGeneric = \"{content}\\n\";\n tStyle = \" {style}\";\n tHtml = renderObject(\"html\", \"text/html\");\n tText = renderObject(\"text\", \"text/plain;charset=UTF-8\");\n tPdf = renderObject(\"pdf\", \"application/pdf\");\n tImage =\n '\"{alt}\"'\\n\";\n tOffice =\n '\";\n tGdocs =\n '\";\n tVideo =\n '\\n\";\n tAudio =\n '\\n\";\n tFlash =\n '\\n\";\n tObject =\n '\\n\" +\n '\\n' +\n $h.OBJECT_PARAMS +\n \" \" +\n $h.DEFAULT_PREVIEW +\n \"\\n\\n\";\n tOther =\n '
\\n\" + $h.DEFAULT_PREVIEW + \"\\n
\\n\";\n tZoomCache = '
{zoomContent}
';\n vDefaultDim = { width: \"100%\", height: \"100%\", \"min-height\": \"480px\" };\n if (self._isPdfRendered()) {\n tPdf = self.pdfRendererTemplate.replace(\"{renderer}\", self._encodeURI(self.pdfRendererUrl));\n }\n self.defaults = {\n layoutTemplates: {\n main1: tMain1,\n main2: tMain2,\n preview: tPreview,\n close: tClose,\n fileIcon: tFileIcon,\n caption: tCaption,\n modalMain: tModalMain,\n modal: tModal,\n descriptionClose: tDescClose,\n progress: tProgress,\n stats: tStats,\n size: tSize,\n footer: tFooter,\n indicator: tIndicator,\n actions: tActions,\n actionDelete: tActionDelete,\n actionRotate: tActionRotate,\n actionUpload: tActionUpload,\n actionDownload: tActionDownload,\n actionZoom: tActionZoom,\n actionDrag: tActionDrag,\n btnDefault: tBtnDefault,\n btnLink: tBtnLink,\n btnBrowse: tBtnBrowse,\n zoomCache: tZoomCache,\n },\n previewMarkupTags: {\n tagBefore1: tTagBef1,\n tagBefore2: tTagBef2,\n tagAfter: tTagAft,\n },\n previewContentTemplates: {\n generic: tGeneric,\n html: tHtml,\n image: tImage,\n text: tText,\n office: tOffice,\n gdocs: tGdocs,\n video: tVideo,\n audio: tAudio,\n flash: tFlash,\n object: tObject,\n pdf: tPdf,\n other: tOther,\n },\n allowedPreviewTypes: [\"image\", \"html\", \"text\", \"video\", \"audio\", \"flash\", \"pdf\", \"object\"],\n previewTemplates: {},\n previewSettings: {\n image: { width: \"auto\", height: \"auto\", \"max-width\": \"100%\", \"max-height\": \"100%\" },\n html: { width: \"213px\", height: \"160px\" },\n text: { width: \"213px\", height: \"160px\" },\n office: { width: \"213px\", height: \"160px\" },\n gdocs: { width: \"213px\", height: \"160px\" },\n video: { width: \"213px\", height: \"160px\" },\n audio: { width: \"100%\", height: \"30px\" },\n flash: { width: \"213px\", height: \"160px\" },\n object: { width: \"213px\", height: \"160px\" },\n pdf: { width: \"100%\", height: \"160px\", position: \"relative\" },\n other: { width: \"213px\", height: \"160px\" },\n },\n previewSettingsSmall: {\n image: { width: \"auto\", height: \"auto\", \"max-width\": \"100%\", \"max-height\": \"100%\" },\n html: { width: \"100%\", height: \"160px\" },\n text: { width: \"100%\", height: \"160px\" },\n office: { width: \"100%\", height: \"160px\" },\n gdocs: { width: \"100%\", height: \"160px\" },\n video: { width: \"100%\", height: \"auto\" },\n audio: { width: \"100%\", height: \"30px\" },\n flash: { width: \"100%\", height: \"auto\" },\n object: { width: \"100%\", height: \"auto\" },\n pdf: { width: \"100%\", height: \"160px\" },\n other: { width: \"100%\", height: \"160px\" },\n },\n previewZoomSettings: {\n image: { width: \"auto\", height: \"auto\", \"max-width\": \"100%\", \"max-height\": \"100%\" },\n html: vDefaultDim,\n text: vDefaultDim,\n office: { width: \"100%\", height: \"100%\", \"max-width\": \"100%\", \"min-height\": \"480px\" },\n gdocs: { width: \"100%\", height: \"100%\", \"max-width\": \"100%\", \"min-height\": \"480px\" },\n video: { width: \"auto\", height: \"100%\", \"max-width\": \"100%\" },\n audio: { width: \"100%\", height: \"30px\" },\n flash: { width: \"auto\", height: \"480px\" },\n object: { width: \"auto\", height: \"100%\", \"max-width\": \"100%\", \"min-height\": \"480px\" },\n pdf: vDefaultDim,\n other: { width: \"auto\", height: \"100%\", \"min-height\": \"480px\" },\n },\n mimeTypeAliases: {\n \"video/quicktime\": \"video/mp4\",\n },\n fileTypeSettings: {\n image: function (vType, vName) {\n return (\n ($h.compare(vType, \"image.*\") && !$h.compare(vType, /(tiff?|wmf)$/i)) ||\n $h.compare(vName, /\\.(gif|png|jpe?g)$/i)\n );\n },\n html: function (vType, vName) {\n return $h.compare(vType, \"text/html\") || $h.compare(vName, /\\.(htm|html)$/i);\n },\n office: function (vType, vName) {\n return (\n $h.compare(vType, /(word|excel|powerpoint|office)$/i) ||\n $h.compare(vName, /\\.(docx?|xlsx?|pptx?|pps|potx?)$/i)\n );\n },\n gdocs: function (vType, vName) {\n return (\n $h.compare(vType, /(word|excel|powerpoint|office|iwork-pages|tiff?)$/i) ||\n $h.compare(vName, /\\.(docx?|xlsx?|pptx?|pps|potx?|rtf|ods|odt|pages|ai|dxf|ttf|tiff?|wmf|e?ps)$/i)\n );\n },\n text: function (vType, vName) {\n return (\n $h.compare(vType, \"text.*\") ||\n $h.compare(vName, /\\.(xml|javascript)$/i) ||\n $h.compare(vName, /\\.(txt|md|nfo|ini|json|php|js|css)$/i)\n );\n },\n video: function (vType, vName) {\n return (\n $h.compare(vType, \"video.*\") &&\n ($h.compare(vType, /(ogg|mp4|mp?g|mov|webm|3gp)$/i) ||\n $h.compare(vName, /\\.(og?|mp4|webm|mp?g|mov|3gp)$/i))\n );\n },\n audio: function (vType, vName) {\n return (\n $h.compare(vType, \"audio.*\") &&\n ($h.compare(vName, /(ogg|mp3|mp?g|wav)$/i) || $h.compare(vName, /\\.(og?|mp3|mp?g|wav)$/i))\n );\n },\n flash: function (vType, vName) {\n return $h.compare(vType, \"application/x-shockwave-flash\", true) || $h.compare(vName, /\\.(swf)$/i);\n },\n pdf: function (vType, vName) {\n return $h.compare(vType, \"application/pdf\", true) || $h.compare(vName, /\\.(pdf)$/i);\n },\n object: function () {\n return true;\n },\n other: function () {\n return true;\n },\n },\n fileActionSettings: {\n showRemove: true,\n showUpload: true,\n showDownload: true,\n showZoom: true,\n showDrag: true,\n showRotate: true,\n removeIcon: '',\n removeClass: defBtnCss1,\n removeErrorClass: \"btn btn-sm btn-kv btn-danger\",\n removeTitle: \"Remove file\",\n uploadIcon: '',\n uploadClass: defBtnCss1,\n uploadTitle: \"Upload file\",\n uploadRetryIcon: '',\n uploadRetryTitle: \"Retry upload\",\n downloadIcon: '',\n downloadClass: defBtnCss1,\n downloadTitle: \"Download file\",\n rotateIcon: '',\n rotateClass: defBtnCss1,\n rotateTitle: \"Rotate 90 deg. clockwise\",\n zoomIcon: '',\n zoomClass: defBtnCss1,\n zoomTitle: \"View Details\",\n dragIcon: '',\n dragClass: \"text-primary\",\n dragTitle: \"Move / Rearrange\",\n dragSettings: {},\n indicatorNew: '',\n indicatorSuccess: '',\n indicatorError: '',\n indicatorLoading: '',\n indicatorPaused: '',\n indicatorNewTitle: \"Not uploaded yet\",\n indicatorSuccessTitle: \"Uploaded\",\n indicatorErrorTitle: \"Upload Error\",\n indicatorLoadingTitle: \"Uploading …\",\n indicatorPausedTitle: \"Upload Paused\",\n },\n };\n $.each(self.defaults, function (key, setting) {\n if (key === \"allowedPreviewTypes\") {\n if (self.allowedPreviewTypes === undefined) {\n self.allowedPreviewTypes = setting;\n }\n return;\n }\n self[key] = $.extend(true, {}, setting, self[key]);\n });\n self._initPreviewTemplates();\n },\n _initPreviewTemplates: function () {\n var self = this,\n tags = self.previewMarkupTags,\n tagBef,\n tagAft = tags.tagAfter;\n $.each(self.previewContentTemplates, function (key, value) {\n if ($h.isEmpty(self.previewTemplates[key])) {\n tagBef = tags.tagBefore2;\n if (key === \"generic\" || key === \"image\") {\n tagBef = tags.tagBefore1;\n }\n if (self._isPdfRendered() && key === \"pdf\") {\n tagBef = tagBef.replace(\"kv-file-content\", \"kv-file-content kv-pdf-rendered\");\n }\n self.previewTemplates[key] = tagBef + value + tagAft;\n }\n });\n },\n _initPreviewCache: function () {\n var self = this;\n self.previewCache = {\n data: {},\n init: function () {\n var content = self.initialPreview;\n if (content.length > 0 && !$h.isArray(content)) {\n content = content.split(self.initialPreviewDelimiter);\n }\n self.previewCache.data = {\n content: content,\n config: self.initialPreviewConfig,\n tags: self.initialPreviewThumbTags,\n };\n },\n count: function (skipNull) {\n if (!self.previewCache.data || !self.previewCache.data.content) {\n return 0;\n }\n if (skipNull) {\n var chk = self.previewCache.data.content.filter(function (n) {\n return n !== null;\n });\n return chk.length;\n }\n return self.previewCache.data.content.length;\n },\n get: function (i, isDisabled) {\n var ind = $h.INIT_FLAG + i,\n data = self.previewCache.data,\n config = data.config[i],\n content = data.content[i],\n out,\n $tmp,\n cat,\n ftr,\n fname,\n ftype,\n frameClass,\n asData = $h.ifSet(\"previewAsData\", config, self.initialPreviewAsData),\n a = config ? { title: config.title || null, alt: config.alt || null } : { title: null, alt: null },\n parseTemplate = function (cat, dat, fname, ftype, ftr, ind, fclass, t) {\n var fc = \" file-preview-initial \" + $h.SORT_CSS + (fclass ? \" \" + fclass : \"\"),\n id = self.previewInitId + \"-\" + ind,\n fileId = (config && config.fileId) || id;\n /** @namespace config.zoomData */\n return self._generatePreviewTemplate(\n cat,\n dat,\n fname,\n ftype,\n id,\n fileId,\n false,\n null,\n null,\n fc,\n ftr,\n ind,\n t,\n a,\n (config && config.zoomData) || dat\n );\n };\n if (!content || !content.length) {\n return \"\";\n }\n isDisabled = isDisabled === undefined ? true : isDisabled;\n cat = $h.ifSet(\"type\", config, self.initialPreviewFileType || \"generic\");\n fname = $h.ifSet(\"filename\", config, $h.ifSet(\"caption\", config));\n ftype = $h.ifSet(\"filetype\", config, cat);\n ftr = self.previewCache.footer(i, isDisabled, (config && config.size) || null);\n frameClass = $h.ifSet(\"frameClass\", config);\n if (asData) {\n out = parseTemplate(cat, content, fname, ftype, ftr, ind, frameClass);\n } else {\n out = parseTemplate(\"generic\", content, fname, ftype, ftr, ind, frameClass, cat).setTokens({\n content: data.content[i],\n });\n }\n if (data.tags.length && data.tags[i]) {\n out = $h.replaceTags(out, data.tags[i]);\n }\n /** @namespace config.frameAttr */\n if (!$h.isEmpty(config) && !$h.isEmpty(config.frameAttr)) {\n $tmp = $h.createDiv();\n $h.setHtml($tmp, out);\n $tmp.find(\".file-preview-initial\").attr(config.frameAttr);\n out = $tmp.html();\n $tmp.remove();\n }\n return out;\n },\n clean: function (data) {\n data.content = $h.cleanArray(data.content);\n data.config = $h.cleanArray(data.config);\n data.tags = $h.cleanArray(data.tags);\n self.previewCache.data = data;\n },\n add: function (content, config, tags, append) {\n var data = self.previewCache.data,\n index;\n if (!content || !content.length) {\n return 0;\n }\n index = content.length - 1;\n if (!$h.isArray(content)) {\n content = content.split(self.initialPreviewDelimiter);\n }\n if (append && data.content) {\n index = data.content.push(content[0]) - 1;\n data.config[index] = config;\n data.tags[index] = tags;\n } else {\n data.content = content;\n data.config = config;\n data.tags = tags;\n }\n self.previewCache.clean(data);\n return index;\n },\n set: function (content, config, tags, append) {\n var data = self.previewCache.data,\n i,\n chk;\n if (!content || !content.length) {\n return;\n }\n if (!$h.isArray(content)) {\n content = content.split(self.initialPreviewDelimiter);\n }\n chk = content.filter(function (n) {\n return n !== null;\n });\n if (!chk.length) {\n return;\n }\n if (data.content === undefined) {\n data.content = [];\n }\n if (data.config === undefined) {\n data.config = [];\n }\n if (data.tags === undefined) {\n data.tags = [];\n }\n if (append) {\n for (i = 0; i < content.length; i++) {\n if (content[i]) {\n data.content.push(content[i]);\n }\n }\n for (i = 0; i < config.length; i++) {\n if (config[i]) {\n data.config.push(config[i]);\n }\n }\n for (i = 0; i < tags.length; i++) {\n if (tags[i]) {\n data.tags.push(tags[i]);\n }\n }\n } else {\n data.content = content;\n data.config = config;\n data.tags = tags;\n }\n self.previewCache.clean(data);\n },\n unset: function (index) {\n var chk = self.previewCache.count(),\n rev = self.reversePreviewOrder;\n if (!chk) {\n return;\n }\n if (chk === 1) {\n self.previewCache.data.content = [];\n self.previewCache.data.config = [];\n self.previewCache.data.tags = [];\n self.initialPreview = [];\n self.initialPreviewConfig = [];\n self.initialPreviewThumbTags = [];\n return;\n }\n self.previewCache.data.content = $h.spliceArray(self.previewCache.data.content, index, rev);\n self.previewCache.data.config = $h.spliceArray(self.previewCache.data.config, index, rev);\n self.previewCache.data.tags = $h.spliceArray(self.previewCache.data.tags, index, rev);\n var data = $.extend(true, {}, self.previewCache.data);\n self.previewCache.clean(data);\n },\n out: function () {\n var html = \"\",\n caption,\n len = self.previewCache.count(),\n i,\n content;\n if (len === 0) {\n return { content: \"\", caption: \"\" };\n }\n for (i = 0; i < len; i++) {\n content = self.previewCache.get(i);\n html = self.reversePreviewOrder ? content + html : html + content;\n }\n caption = self._getMsgSelected(len);\n return { content: html, caption: caption };\n },\n footer: function (i, isDisabled, size) {\n var data = self.previewCache.data || {};\n if ($h.isEmpty(data.content)) {\n return \"\";\n }\n if ($h.isEmpty(data.config) || $h.isEmpty(data.config[i])) {\n data.config[i] = {};\n }\n isDisabled = isDisabled === undefined ? true : isDisabled;\n var config = data.config[i],\n caption = $h.ifSet(\"caption\", config),\n a,\n width = $h.ifSet(\"width\", config, \"auto\"),\n url = $h.ifSet(\"url\", config, false),\n key = $h.ifSet(\"key\", config, null),\n fileId = $h.ifSet(\"fileId\", config, null),\n fs = self.fileActionSettings,\n initPreviewShowDel = self.initialPreviewShowDelete || false,\n downloadInitialUrl = !self.initialPreviewDownloadUrl\n ? \"\"\n : self.initialPreviewDownloadUrl + \"?key=\" + key + (fileId ? \"&fileId=\" + fileId : \"\"),\n dUrl = config.downloadUrl || downloadInitialUrl,\n dFil = config.filename || config.caption || \"\",\n initPreviewShowDwl = !!dUrl,\n sDel = $h.ifSet(\"showRemove\", config, initPreviewShowDel),\n sRot = $h.ifSet(\"showRotate\", config, $h.ifSet(\"showRotate\", fs, true)),\n sDwl = $h.ifSet(\"showDownload\", config, $h.ifSet(\"showDownload\", fs, initPreviewShowDwl)),\n sZm = $h.ifSet(\"showZoom\", config, $h.ifSet(\"showZoom\", fs, true)),\n sDrg = $h.ifSet(\"showDrag\", config, $h.ifSet(\"showDrag\", fs, true)),\n dis = url === false && isDisabled;\n sDwl = sDwl && config.downloadUrl !== false && !!dUrl;\n a = self._renderFileActions(config, false, sDwl, sDel, sRot, sZm, sDrg, dis, url, key, true, dUrl, dFil);\n return self._getLayoutTemplate(\"footer\").setTokens({\n progress: self._renderThumbProgress(),\n actions: a,\n caption: caption,\n size: self._getSize(size),\n width: width,\n indicator: \"\",\n });\n },\n };\n self.previewCache.init();\n },\n _isPdfRendered: function () {\n var self = this,\n useLib = self.usePdfRenderer,\n flag = typeof useLib === \"function\" ? useLib() : !!useLib;\n return flag && self.pdfRendererUrl;\n },\n _handler: function ($el, event, callback) {\n var self = this,\n ns = self.namespace,\n ev = event.split(\" \").join(ns + \" \") + ns;\n if (!$el || !$el.length) {\n return;\n }\n $el.off(ev).on(ev, callback);\n },\n _encodeURI: function (vUrl) {\n var self = this;\n return self.encodeUrl ? encodeURI(vUrl) : vUrl;\n },\n _log: function (msg, tokens) {\n var self = this,\n id = self.$element.attr(\"id\");\n if (!self.showConsoleLogs) {\n return;\n }\n if (id) {\n msg = '\"' + id + '\": ' + msg;\n }\n msg = \"bootstrap-fileinput: \" + msg;\n if (typeof tokens === \"object\") {\n msg = msg.setTokens(tokens);\n }\n if (window.console && typeof window.console.log !== \"undefined\") {\n window.console.log(msg);\n } else {\n window.alert(msg);\n }\n },\n _validate: function () {\n var self = this,\n status = self.$element.attr(\"type\") === \"file\";\n if (!status) {\n self._log($h.logMessages.badInputType);\n }\n return status;\n },\n _errorsExist: function () {\n var self = this,\n $err,\n $errList = self.$errorContainer.find(\"li\");\n if ($errList.length) {\n return true;\n }\n $err = $h.createDiv();\n $h.setHtml($err, self.$errorContainer.html());\n $err.find(\".kv-error-close\").remove();\n $err.find(\"ul\").remove();\n return !!$h.trim($err.text()).length;\n },\n _errorHandler: function (evt, caption) {\n var self = this,\n err = evt.target.error,\n showError = function (msg) {\n self._showError(msg.replace(\"{name}\", caption));\n };\n /** @namespace err.NOT_FOUND_ERR */\n /** @namespace err.SECURITY_ERR */\n /** @namespace err.NOT_READABLE_ERR */\n if (err.code === err.NOT_FOUND_ERR) {\n showError(self.msgFileNotFound);\n } else {\n if (err.code === err.SECURITY_ERR) {\n showError(self.msgFileSecured);\n } else {\n if (err.code === err.NOT_READABLE_ERR) {\n showError(self.msgFileNotReadable);\n } else {\n if (err.code === err.ABORT_ERR) {\n showError(self.msgFilePreviewAborted);\n } else {\n showError(self.msgFilePreviewError);\n }\n }\n }\n }\n },\n _addError: function (msg) {\n var self = this,\n $error = self.$errorContainer;\n if (msg && $error.length) {\n $h.setHtml($error, self.errorCloseButton + msg);\n self._handler($error.find(\".kv-error-close\"), \"click\", function () {\n setTimeout(function () {\n if (self.showPreview && !self.getFrames().length) {\n self.clear();\n }\n $error.fadeOut(\"slow\");\n }, self.processDelay);\n });\n }\n },\n _setValidationError: function (css) {\n var self = this;\n css = (css ? css + \" \" : \"\") + \"has-error\";\n self.$container.removeClass(css).addClass(\"has-error\");\n $h.addCss(self.$caption, \"is-invalid\");\n },\n _resetErrors: function (fade) {\n var self = this,\n $error = self.$errorContainer,\n history = self.resumableUploadOptions.retainErrorHistory;\n if (self.isPersistentError || (self.enableResumableUpload && history && !self.clearInput)) {\n return;\n }\n self.clearInput = false;\n self.isError = false;\n self.$container.removeClass(\"has-error\");\n self.$caption.removeClass(\"is-invalid is-valid file-processing\");\n $error.html(\"\");\n if (fade) {\n $error.fadeOut(\"slow\");\n } else {\n $error.hide();\n }\n },\n _showFolderError: function (folders) {\n var self = this,\n $error = self.$errorContainer,\n msg;\n if (!folders) {\n return;\n }\n if (!self.isAjaxUpload) {\n self._clearFileInput();\n }\n msg = self.msgFoldersNotAllowed.replace(\"{n}\", folders);\n self._addError(msg);\n self._setValidationError();\n $error.fadeIn(self.fadeDelay);\n self._raise(\"filefoldererror\", [folders, msg]);\n },\n showUserError: function (msg, params, retainErrorHistory) {\n var self = this,\n fileName;\n if (!self.uploadInitiated) {\n return;\n }\n if (!params || !params.fileId) {\n if (!retainErrorHistory) {\n self.$errorContainer.html(\"\");\n }\n } else {\n if (!retainErrorHistory) {\n self.$errorContainer.find('[data-file-id=\"' + params.fileId + '\"]').remove();\n }\n fileName = self.fileManager.getFileName(params.fileId);\n if (fileName) {\n msg = \"\" + fileName + \": \" + msg;\n }\n }\n self._showFileError(msg, params, \"fileusererror\");\n },\n _showFileError: function (msg, params, event) {\n var self = this,\n $error = self.$errorContainer,\n ev = event || \"fileuploaderror\",\n fId = (params && params.fileId) || \"\",\n e =\n params && params.id\n ? '
  • ' + msg + \"
  • \"\n : \"
  • \" + msg + \"
  • \";\n\n if ($error.find(\"ul\").length === 0) {\n self._addError(\"\");\n } else {\n $error.find(\"ul\").append($h.cspBuffer.stash(e));\n $h.cspBuffer.apply($error);\n }\n $error.fadeIn(self.fadeDelay);\n self._raise(ev, [params, msg]);\n self._setValidationError(\"file-input-new\");\n return true;\n },\n _showError: function (msg, params, event) {\n var self = this,\n $error = self.$errorContainer,\n ev = event || \"fileerror\";\n params = params || {};\n params.reader = self.reader;\n self._addError(msg);\n $error.fadeIn(self.fadeDelay);\n self._raise(ev, [params, msg]);\n if (!self.isAjaxUpload) {\n self._clearFileInput();\n }\n self._setValidationError(\"file-input-new\");\n self.$btnUpload.attr(\"disabled\", true);\n return true;\n },\n _noFilesError: function (params) {\n var self = this,\n label = self.minFileCount > 1 ? self.filePlural : self.fileSingle,\n msg = self.msgFilesTooLess.replace(\"{n}\", self.minFileCount).replace(\"{files}\", label),\n $error = self.$errorContainer;\n msg = \"
  • \" + msg + \"
  • \";\n if ($error.find(\"ul\").length === 0) {\n self._addError(\"\");\n } else {\n $error.find(\"ul\").append(msg);\n }\n self.isError = true;\n self._updateFileDetails(0);\n $error.fadeIn(self.fadeDelay);\n self._raise(\"fileerror\", [params, msg]);\n self._clearFileInput();\n self._setValidationError();\n },\n _parseError: function (operation, jqXHR, errorThrown, fileName) {\n /** @namespace jqXHR.responseJSON */\n var self = this,\n errMsg = $h.trim(errorThrown + \"\"),\n textPre,\n errText,\n text;\n errText = jqXHR.responseJSON && jqXHR.responseJSON.error ? jqXHR.responseJSON.error.toString() : \"\";\n text = errText ? errText : jqXHR.responseText;\n if (self.cancelling && self.msgUploadAborted) {\n errMsg = self.msgUploadAborted;\n }\n if (self.showAjaxErrorDetails && text) {\n if (errText) {\n errMsg = $h.trim(errText + \"\");\n } else {\n text = $h.trim(text.replace(/\\n\\s*\\n/g, \"\\n\"));\n textPre = text.length ? \"
    \" + text + \"
    \" : \"\";\n errMsg += errMsg ? textPre : text;\n }\n }\n if (!errMsg) {\n errMsg = self.msgAjaxError.replace(\"{operation}\", operation);\n }\n self.cancelling = false;\n return fileName ? \"\" + fileName + \": \" + errMsg : errMsg;\n },\n _parseFileType: function (type, name) {\n var self = this,\n isValid,\n vType,\n cat,\n i,\n types = self.allowedPreviewTypes || [];\n if (type === \"application/text-plain\") {\n return \"text\";\n }\n for (i = 0; i < types.length; i++) {\n cat = types[i];\n isValid = self.fileTypeSettings[cat];\n vType = isValid(type, name) ? cat : \"\";\n if (!$h.isEmpty(vType)) {\n return vType;\n }\n }\n return \"other\";\n },\n _getPreviewIcon: function (fname) {\n var self = this,\n ext,\n out = null;\n if (fname && fname.indexOf(\".\") > -1) {\n ext = fname.split(\".\").pop();\n if (self.previewFileIconSettings) {\n out = self.previewFileIconSettings[ext] || self.previewFileIconSettings[ext.toLowerCase()] || null;\n }\n if (self.previewFileExtSettings) {\n $.each(self.previewFileExtSettings, function (key, func) {\n if (self.previewFileIconSettings[key] && func(ext)) {\n out = self.previewFileIconSettings[key];\n //noinspection UnnecessaryReturnStatementJS\n return;\n }\n });\n }\n }\n return out || self.previewFileIcon;\n },\n _parseFilePreviewIcon: function (content, fname) {\n var self = this,\n icn = self._getPreviewIcon(fname),\n out = content;\n if (out.indexOf(\"{previewFileIcon}\") > -1) {\n out = out.setTokens({ previewFileIconClass: self.previewFileIconClass, previewFileIcon: icn });\n }\n return out;\n },\n _raise: function (event, params) {\n var self = this,\n e = $.Event(event);\n if (params !== undefined) {\n self.$element.trigger(e, params);\n } else {\n self.$element.trigger(e);\n }\n var out = e.result,\n isAborted = out === false;\n if (e.isDefaultPrevented() || isAborted) {\n return false;\n }\n if (e.type === \"filebatchpreupload\" && (out || isAborted)) {\n self.ajaxAborted = out;\n return false;\n }\n switch (event) {\n // ignore these events\n case \"filebatchuploadcomplete\":\n case \"filebatchuploadsuccess\":\n case \"fileuploaded\":\n case \"fileclear\":\n case \"filecleared\":\n case \"filereset\":\n case \"fileerror\":\n case \"filefoldererror\":\n case \"filecustomerror\":\n case \"filesuccessremove\":\n break;\n // receive data response via `filecustomerror` event`\n default:\n if (!self.ajaxAborted) {\n self.ajaxAborted = out;\n }\n break;\n }\n return true;\n },\n _listenFullScreen: function (isFullScreen) {\n var self = this,\n $modal = self.$modal,\n $btnFull,\n $btnBord;\n if (!$modal || !$modal.length) {\n return;\n }\n $btnFull = $modal && $modal.find(\".btn-kv-fullscreen\");\n $btnBord = $modal && $modal.find(\".btn-kv-borderless\");\n if (!$btnFull.length || !$btnBord.length) {\n return;\n }\n $btnFull.removeClass(\"active\").attr(\"aria-pressed\", \"false\");\n $btnBord.removeClass(\"active\").attr(\"aria-pressed\", \"false\");\n if (isFullScreen) {\n $btnFull.addClass(\"active\").attr(\"aria-pressed\", \"true\");\n } else {\n $btnBord.addClass(\"active\").attr(\"aria-pressed\", \"true\");\n }\n if ($modal.hasClass(\"file-zoom-fullscreen\")) {\n self._maximizeZoomDialog();\n } else {\n if (isFullScreen) {\n self._maximizeZoomDialog();\n } else {\n $btnBord.removeClass(\"active\").attr(\"aria-pressed\", \"false\");\n }\n }\n },\n _listen: function () {\n var self = this,\n $el = self.$element,\n $form = self.$form,\n $cont = self.$container,\n fullScreenEv;\n self._handler($el, \"click\", function (e) {\n self._initFileSelected();\n if ($el.hasClass(\"file-no-browse\")) {\n if ($el.data(\"zoneClicked\")) {\n $el.data(\"zoneClicked\", false);\n } else {\n e.preventDefault();\n }\n }\n });\n self._handler($el, \"change\", $.proxy(self._change, self));\n self._handler(self.$caption, \"paste\", $.proxy(self.paste, self));\n if (self.showBrowse) {\n self._handler(self.$btnFile, \"click\", $.proxy(self._browse, self));\n self._handler(self.$btnFile, \"keypress\", function (e) {\n var keycode = e.keyCode || e.which;\n if (keycode === 13) {\n $el.trigger(\"click\");\n self._browse(e);\n }\n });\n }\n self._handler($cont.find(\".fileinput-remove:not([disabled])\"), \"click\", $.proxy(self.clear, self));\n self._handler($cont.find(\".fileinput-cancel\"), \"click\", $.proxy(self.cancel, self));\n self._handler($cont.find(\".fileinput-pause\"), \"click\", $.proxy(self.pause, self));\n self._initDragDrop();\n self._handler($form, \"reset\", $.proxy(self.clear, self));\n if (!self.isAjaxUpload) {\n self._handler($form, \"submit\", $.proxy(self._submitForm, self));\n }\n self._handler(self.$container.find(\".fileinput-upload\"), \"click\", $.proxy(self._uploadClick, self));\n self._handler($(window), \"resize\", function () {\n self._listenFullScreen(screen.width === window.innerWidth && screen.height === window.innerHeight);\n });\n fullScreenEv = \"webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange\";\n self._handler($(document), fullScreenEv, function () {\n self._listenFullScreen($h.checkFullScreen());\n });\n self.$caption.on(\"focus\", function () {\n self.$captionContainer.focus();\n });\n self._autoFitContent();\n self._initClickable();\n self._refreshPreview();\n },\n _autoFitContent: function () {\n var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth,\n self = this,\n config =\n width < 400\n ? self.previewSettingsSmall || self.defaults.previewSettingsSmall\n : self.previewSettings || self.defaults.previewSettings,\n sel;\n $.each(config, function (cat, settings) {\n sel = \".file-preview-frame .file-preview-\" + cat;\n self.$preview.find(sel + \".kv-preview-data,\" + sel + \" .kv-preview-data\").css(settings);\n });\n },\n _scanDroppedItems: function (item, files, path) {\n path = path || \"\";\n var self = this,\n i,\n dirReader,\n readDir,\n errorHandler = function (e) {\n self._log($h.logMessages.badDroppedFiles);\n self._log(e);\n };\n if (item.isFile) {\n item.file(function (file) {\n if (path) {\n file.newPath = path + file.name;\n }\n files.push(file);\n }, errorHandler);\n } else {\n if (item.isDirectory) {\n dirReader = item.createReader();\n readDir = function () {\n dirReader.readEntries(function (entries) {\n if (entries && entries.length > 0) {\n for (i = 0; i < entries.length; i++) {\n self._scanDroppedItems(entries[i], files, path + item.name + \"/\");\n }\n // recursively call readDir() again, since browser can only handle first 100 entries.\n readDir();\n }\n return null;\n }, errorHandler);\n };\n readDir();\n }\n }\n },\n _initDragDrop: function () {\n var self = this,\n $zone = self.$dropZone;\n if (self.dropZoneEnabled && self.showPreview) {\n self._handler($zone, \"dragenter dragover\", $.proxy(self._zoneDragEnter, self));\n self._handler($zone, \"dragleave\", $.proxy(self._zoneDragLeave, self));\n self._handler($zone, \"drop\", $.proxy(self._zoneDrop, self));\n self._handler($(document), \"dragenter dragover drop\", self._zoneDragDropInit);\n }\n },\n _zoneDragDropInit: function (e) {\n e.stopPropagation();\n e.preventDefault();\n },\n _zoneDragEnter: function (e) {\n var self = this,\n dt = e.originalEvent.dataTransfer,\n hasFiles = $.inArray(\"Files\", dt.types) > -1;\n self._zoneDragDropInit(e);\n if (self.isDisabled || !hasFiles) {\n dt.effectAllowed = \"none\";\n dt.dropEffect = \"none\";\n return;\n }\n dt.dropEffect = \"copy\";\n if (self._raise(\"fileDragEnter\", { sourceEvent: e, files: dt.types.Files })) {\n $h.addCss(self.$dropZone, \"file-highlighted\");\n }\n },\n _zoneDragLeave: function (e) {\n var self = this;\n self._zoneDragDropInit(e);\n if (self.isDisabled) {\n return;\n }\n if (self._raise(\"fileDragLeave\", { sourceEvent: e })) {\n self.$dropZone.removeClass(\"file-highlighted\");\n }\n },\n _dropFiles: function (e, files) {\n var self = this,\n $el = self.$element;\n if (!self.isAjaxUpload) {\n self.changeTriggered = true;\n $el.get(0).files = files;\n setTimeout(function () {\n self.changeTriggered = false;\n $el.trigger(\"change\" + self.namespace);\n }, self.processDelay);\n } else {\n self._change(e, files);\n }\n self.$dropZone.removeClass(\"file-highlighted\");\n },\n _addFilesFromSystem: function (e, dt, type) {\n var self = this,\n files = dt.files,\n items = dt.items,\n folders = $h.getDragDropFolders(items);\n e.preventDefault();\n if (self.isDisabled || $h.isEmpty(files) || !files.length) {\n console.log(\"No valid copied files found in clipboard for pasting.\");\n return;\n }\n if (!self._raise(type, { sourceEvent: e, files: files })) {\n return;\n }\n if (folders > 0) {\n if (!self.isAjaxUpload) {\n self._showFolderError(folders);\n return;\n }\n files = [];\n for (i = 0; i < items.length; i++) {\n var item = items[i].webkitGetAsEntry();\n if (item) {\n self._scanDroppedItems(item, files);\n }\n }\n setTimeout(function () {\n self._dropFiles(e, files);\n }, 500);\n } else {\n self._dropFiles(e, files);\n }\n },\n _zoneDrop: function (e) {\n /** @namespace e.originalEvent.dataTransfer */\n var self = this,\n i,\n $el = self.$element,\n dt = e.originalEvent.dataTransfer;\n self._addFilesFromSystem(e, dt, \"fileDragDrop\");\n },\n _uploadClick: function (e) {\n var self = this,\n $btn = self.$container.find(\".fileinput-upload\"),\n $form,\n isEnabled = !$btn.hasClass(\"disabled\") && $h.isEmpty($btn.attr(\"disabled\"));\n if (e && e.isDefaultPrevented()) {\n return;\n }\n if (!self.isAjaxUpload) {\n if (isEnabled && $btn.attr(\"type\") !== \"submit\") {\n e.preventDefault();\n $form = $btn.closest(\"form\");\n // downgrade to normal form submit if possible\n if ($form.length) {\n $form.trigger(\"submit\");\n }\n }\n return;\n }\n e.preventDefault();\n if (isEnabled) {\n self.upload();\n }\n },\n _submitForm: function () {\n var self = this;\n return self._isFileSelectionValid() && !self._abort({});\n },\n _clearPreview: function () {\n var self = this,\n $thumbs = self.showUploadedThumbs ? self.getFrames(\":not(.file-preview-success)\") : self.getFrames();\n $thumbs.each(function () {\n var $thumb = $(this);\n $thumb.remove();\n });\n if (!self.getFrames().length || !self.showPreview) {\n self._resetUpload();\n }\n self._validateDefaultPreview();\n },\n _initSortable: function () {\n var self = this,\n $el = self.$preview,\n settings,\n selector = \".\" + $h.SORT_CSS,\n $cont,\n $body = $(\"body\"),\n $html = $(\"html\"),\n rev = self.reversePreviewOrder,\n Sortable = window.Sortable,\n beginGrab,\n endGrab;\n if (!Sortable || $el.find(selector).length === 0) {\n return;\n }\n $cont = $body.length ? $body : $html.length ? $html : self.$container;\n beginGrab = function () {\n $cont.addClass(\"file-grabbing\");\n };\n endGrab = function () {\n $cont.removeClass(\"file-grabbing\");\n };\n settings = {\n handle: \".drag-handle-init\",\n dataIdAttr: \"data-fileid\",\n animation: 600,\n draggable: selector,\n scroll: false,\n forceFallback: true,\n onChoose: beginGrab,\n onStart: beginGrab,\n onUnchoose: endGrab,\n onEnd: endGrab,\n onSort: function (e) {\n var oldIndex = e.oldIndex,\n newIndex = e.newIndex,\n i = 0,\n len = self.initialPreviewConfig.length,\n exceedsLast = len > 0 && newIndex >= len,\n $item = $(e.item),\n $first;\n if (exceedsLast) {\n newIndex = len - 1;\n }\n self.initialPreview = $h.moveArray(self.initialPreview, oldIndex, newIndex, rev);\n self.initialPreviewConfig = $h.moveArray(self.initialPreviewConfig, oldIndex, newIndex, rev);\n self.previewCache.init();\n self.getFrames(\".file-preview-initial\").each(function () {\n $(this).attr(\"data-fileindex\", $h.INIT_FLAG + i);\n i++;\n });\n if (exceedsLast) {\n $first = self.getFrames(\":not(.file-preview-initial):first\");\n if ($first.length) {\n $item.slideUp(function () {\n $item.insertBefore($first).slideDown();\n });\n }\n }\n self._raise(\"filesorted\", {\n previewId: $item.attr(\"id\"),\n oldIndex: oldIndex,\n newIndex: newIndex,\n stack: self.initialPreviewConfig,\n });\n },\n };\n $.extend(true, settings, self.fileActionSettings.dragSettings);\n if (self.sortable) {\n self.sortable.destroy();\n }\n self.sortable = Sortable.create($el[0], settings);\n },\n _setPreviewContent: function (content) {\n var self = this;\n $h.setHtml(self.$preview, content);\n self._autoFitContent();\n },\n _initPreviewImageOrientations: function () {\n var self = this,\n i = 0,\n canOrientImage = self.canOrientImage;\n if (!self.autoOrientImageInitial && !canOrientImage) {\n return;\n }\n self.getFrames(\".file-preview-initial\").each(function () {\n var $thumb = $(this),\n $img,\n $zoomImg,\n id,\n config = self.initialPreviewConfig[i];\n /** @namespace config.exif */\n if (config && config.exif && config.exif.Orientation) {\n id = $thumb.attr(\"id\");\n $img = $thumb.find(\">.kv-file-content img\");\n $zoomImg = self._getZoom(id, \" >.kv-file-content img\");\n if (canOrientImage) {\n $img.css(\"image-orientation\", self.autoOrientImageInitial ? \"from-image\" : \"none\");\n } else {\n self.setImageOrientation($img, $zoomImg, config.exif.Orientation, $thumb);\n }\n }\n i++;\n });\n },\n _initPreview: function (isInit) {\n var self = this,\n cap = self.initialCaption || \"\",\n out;\n if (!self.previewCache.count(true)) {\n self._clearPreview();\n if (isInit) {\n self._setCaption(cap);\n } else {\n self._initCaption();\n }\n return;\n }\n out = self.previewCache.out();\n cap = isInit && self.initialCaption ? self.initialCaption : out.caption;\n self._setPreviewContent(out.content);\n self._setInitThumbAttr();\n self._setCaption(cap);\n self._initSortable();\n if (!$h.isEmpty(out.content)) {\n self.$container.removeClass(\"file-input-new\");\n }\n self._initPreviewImageOrientations();\n },\n _getZoomButton: function (type) {\n var self = this,\n label = self.previewZoomButtonIcons[type],\n css = self.previewZoomButtonClasses[type],\n title = ' title=\"' + (self.previewZoomButtonTitles[type] || \"\") + '\" ',\n tag = $h.isBs(5) ? \"bs-\" : \"\",\n params = title + (type === \"close\" ? \" data-\" + tag + 'dismiss=\"modal\" aria-hidden=\"true\"' : \"\");\n if (type === \"fullscreen\" || type === \"borderless\" || type === \"toggleheader\") {\n params += ' data-toggle=\"button\" aria-pressed=\"false\"';\n }\n return '\";\n },\n _getModalContent: function () {\n var self = this;\n return self._getLayoutTemplate(\"modal\").setTokens({\n rtl: self.rtl ? \" kv-rtl\" : \"\",\n zoomFrameClass: self.frameClass,\n prev: self._getZoomButton(\"prev\"),\n next: self._getZoomButton(\"next\"),\n rotate: self._getZoomButton(\"rotate\"),\n toggleheader: self._getZoomButton(\"toggleheader\"),\n fullscreen: self._getZoomButton(\"fullscreen\"),\n borderless: self._getZoomButton(\"borderless\"),\n close: self._getZoomButton(\"close\"),\n });\n },\n _listenModalEvent: function (event) {\n var self = this,\n $modal = self.$modal,\n getParams = function (e) {\n return {\n sourceEvent: e,\n previewId: $modal.data(\"previewId\"),\n modal: $modal,\n };\n };\n $modal.on(event + \".bs.modal\", function (e) {\n if (e.namespace !== \"bs.modal\") {\n return;\n }\n var $btnFull = $modal.find(\".btn-fullscreen\"),\n $btnBord = $modal.find(\".btn-borderless\");\n if ($modal.data(\"fileinputPluginId\") === self.$element.attr(\"id\")) {\n self._raise(\"filezoom\" + event, getParams(e));\n }\n if (event === \"shown\") {\n self._handleRotation($modal, $modal.find(\".file-zoom-detail\"), $modal.data(\"angle\"));\n $btnBord.removeClass(\"active\").attr(\"aria-pressed\", \"false\");\n $btnFull.removeClass(\"active\").attr(\"aria-pressed\", \"false\");\n if ($modal.hasClass(\"file-zoom-fullscreen\")) {\n self._maximizeZoomDialog();\n if ($h.checkFullScreen()) {\n $btnFull.addClass(\"active\").attr(\"aria-pressed\", \"true\");\n } else {\n $btnBord.addClass(\"active\").attr(\"aria-pressed\", \"true\");\n }\n }\n }\n });\n },\n _initZoom: function () {\n var self = this,\n $dialog,\n modalMain = self._getLayoutTemplate(\"modalMain\"),\n modalId = \"#\" + $h.MODAL_ID;\n modalMain = self._setTabIndex(\"modal\", modalMain);\n if (!self.showPreview) {\n return;\n }\n self.$modal = $(modalId);\n if (!self.$modal || !self.$modal.length) {\n $dialog = $h.createElement($h.cspBuffer.stash(modalMain)).insertAfter(self.$container);\n self.$modal = $(modalId).insertBefore($dialog);\n $h.cspBuffer.apply(self.$modal);\n $dialog.remove();\n }\n $h.initModal(self.$modal);\n self.$modal.html($h.cspBuffer.stash(self._getModalContent()));\n $h.cspBuffer.apply(self.$modal);\n $.each($h.MODAL_EVENTS, function (key, event) {\n self._listenModalEvent(event);\n });\n },\n _initZoomButtons: function () {\n var self = this,\n $modal = self.$modal,\n previewId = $modal.data(\"previewId\") || \"\",\n $first,\n $last,\n thumbs = self.getFrames().toArray(),\n len = thumbs.length,\n $prev = $modal.find(\".btn-kv-prev\"),\n $next = $modal.find(\".btn-kv-next\"),\n $rotate = $modal.find(\".btn-kv-rotate\");\n if (thumbs.length < 2) {\n $prev.hide();\n $next.hide();\n return;\n } else {\n $prev.show();\n $next.show();\n }\n if (!len) {\n return;\n }\n $first = $(thumbs[0]);\n $last = $(thumbs[len - 1]);\n $prev.removeAttr(\"disabled\");\n $next.removeAttr(\"disabled\");\n if (self.reversePreviewOrder) {\n [$prev, $next] = [$next, $prev]; // swap\n }\n if ($first.length && $first.attr(\"id\") === previewId) {\n $prev.attr(\"disabled\", true);\n }\n if ($last.length && $last.attr(\"id\") === previewId) {\n $next.attr(\"disabled\", true);\n }\n },\n _maximizeZoomDialog: function () {\n var self = this,\n $modal = self.$modal,\n $head = $modal.find(\".modal-header:visible\"),\n $foot = $modal.find(\".modal-footer:visible\"),\n $body = $modal.find(\".kv-zoom-body\"),\n h = $(window).height(),\n diff = 0;\n $modal.addClass(\"file-zoom-fullscreen\");\n if ($head && $head.length) {\n h -= $head.outerHeight(true);\n }\n if ($foot && $foot.length) {\n h -= $foot.outerHeight(true);\n }\n if ($body && $body.length) {\n diff = $body.outerHeight(true) - $body.height();\n h -= diff;\n }\n $modal.find(\".kv-zoom-body\").height(h);\n },\n _resizeZoomDialog: function (fullScreen) {\n var self = this,\n $modal = self.$modal,\n $btnFull = $modal.find(\".btn-kv-fullscreen\"),\n $btnBord = $modal.find(\".btn-kv-borderless\");\n if ($modal.hasClass(\"file-zoom-fullscreen\")) {\n $h.toggleFullScreen(false);\n if (!fullScreen) {\n if (!$btnFull.hasClass(\"active\")) {\n $modal.removeClass(\"file-zoom-fullscreen\");\n self.$modal.find(\".kv-zoom-body\").css(\"height\", self.zoomModalHeight);\n } else {\n $btnFull.removeClass(\"active\").attr(\"aria-pressed\", \"false\");\n }\n } else {\n if (!$btnFull.hasClass(\"active\")) {\n $modal.removeClass(\"file-zoom-fullscreen\");\n self._resizeZoomDialog(true);\n if ($btnBord.hasClass(\"active\")) {\n $btnBord.removeClass(\"active\").attr(\"aria-pressed\", \"false\");\n }\n }\n }\n } else {\n if (!fullScreen) {\n self._maximizeZoomDialog();\n return;\n }\n $h.toggleFullScreen(true);\n }\n $modal.focus();\n },\n _setZoomContent: function ($frame, navigate) {\n var self = this,\n $content,\n tmplt,\n body,\n $body,\n $dataEl,\n config,\n previewId = $frame.attr(\"id\"),\n $zoomPreview = self._getZoom(previewId),\n $modal = self.$modal,\n $tmp,\n desc,\n $desc,\n $btnFull = $modal.find(\".btn-kv-fullscreen\"),\n $btnBord = $modal.find(\".btn-kv-borderless\"),\n cap,\n size,\n $btnTogh = $modal.find(\".btn-kv-toggleheader\"),\n parsed,\n zoomData = $frame.data(\"zoom\");\n if (zoomData) {\n zoomData = decodeURIComponent(zoomData);\n parsed = $zoomPreview.html().replace(self.zoomPlaceholder, \"\").setTokens({ zoomData: zoomData });\n $h.setHtml($zoomPreview, parsed);\n $frame.data(\"zoom\", \"\");\n $zoomPreview.attr(\"data-zoom\", zoomData);\n }\n tmplt = $zoomPreview.attr(\"data-template\") || \"generic\";\n $content = $zoomPreview.find(\".kv-file-content\");\n body = $content.length ? $content.html() : \"\";\n cap = $frame.data(\"caption\") || self.msgZoomModalHeading;\n size = $frame.data(\"size\") || \"\";\n desc = $frame.data(\"description\") || \"\";\n $h.setHtml($modal.find(\".kv-zoom-caption\").attr(\"title\", cap), cap);\n $h.setHtml($modal.find(\".kv-zoom-size\"), size);\n $desc = $modal.find(\".kv-zoom-description\").hide();\n if (desc) {\n if (self.showDescriptionClose) {\n desc =\n self._getLayoutTemplate(\"descriptionClose\").setTokens({\n closeIcon: self.previewZoomButtonIcons.close,\n }) +\n \"\" +\n desc;\n }\n $h.setHtml($desc, desc).show();\n if (self.showDescriptionClose) {\n self._handler($modal.find(\".kv-desc-hide\"), \"click\", function () {\n $(this)\n .parent()\n .fadeOut(\"fast\", function () {\n $modal.focus();\n });\n });\n }\n }\n $body = $modal.find(\".kv-zoom-body\");\n $modal.removeClass(\"kv-single-content\");\n if (navigate) {\n $tmp = $body.addClass(\"file-thumb-loading\").clone().insertAfter($body);\n $h.setHtml($body, body).hide();\n $tmp.fadeOut(\"fast\", function () {\n $body.fadeIn(\"fast\", function () {\n $body.removeClass(\"file-thumb-loading\");\n });\n $tmp.remove();\n });\n } else {\n $h.setHtml($body, body);\n }\n config = self.previewZoomSettings[tmplt];\n if (config) {\n $dataEl = $body.find(\".kv-preview-data\");\n $h.addCss($dataEl, \"file-zoom-detail\");\n $.each(config, function (key, value) {\n $dataEl.css(key, value);\n if (($dataEl.attr(\"width\") && key === \"width\") || ($dataEl.attr(\"height\") && key === \"height\")) {\n $dataEl.removeAttr(key);\n }\n });\n }\n $modal.data(\"previewId\", previewId);\n self._handler($modal.find(\".btn-kv-prev\"), \"click\", function () {\n self._zoomSlideShow(\"prev\", previewId);\n });\n self._handler($modal.find(\".btn-kv-next\"), \"click\", function () {\n self._zoomSlideShow(\"next\", previewId);\n });\n self._handler($btnFull, \"click\", function () {\n self._resizeZoomDialog(true);\n });\n self._handler($btnBord, \"click\", function () {\n self._resizeZoomDialog(false);\n });\n self._handler($btnTogh, \"click\", function () {\n var $header = $modal.find(\".modal-header\"),\n $floatBar = $modal.find(\".floating-buttons\"),\n ht,\n $actions = $header.find(\".kv-zoom-actions\"),\n resize = function (height) {\n var $body = self.$modal.find(\".kv-zoom-body\"),\n h = self.zoomModalHeight;\n if ($modal.hasClass(\"file-zoom-fullscreen\")) {\n h = $body.outerHeight(true);\n if (!height) {\n h = h - $header.outerHeight(true);\n }\n }\n $body.css(\"height\", height ? h + height : h);\n };\n if ($header.is(\":visible\")) {\n ht = $header.outerHeight(true);\n $header.slideUp(\"slow\", function () {\n $actions.find(\".btn\").appendTo($floatBar);\n resize(ht);\n });\n } else {\n $floatBar.find(\".btn\").appendTo($actions);\n $header.slideDown(\"slow\", function () {\n resize();\n });\n }\n $modal.focus();\n });\n self._handler($modal, \"keydown\", function (e) {\n var key = e.which || e.keyCode,\n delay = self.processDelay + 1,\n $prev = $(this).find(\".btn-kv-prev\"),\n $next = $(this).find(\".btn-kv-next\"),\n vId = $(this).data(\"previewId\"),\n vPrevKey,\n vNextKey;\n [vPrevKey, vNextKey] = self.rtl ? [39, 37] : [37, 39];\n $.each({ prev: [$prev, vPrevKey], next: [$next, vNextKey] }, function (direction, config) {\n var $btn = config[0],\n vKey = config[1];\n if (key === vKey && $btn.length) {\n $modal.focus();\n if (!$btn.attr(\"disabled\")) {\n $btn.blur();\n setTimeout(function () {\n $btn.focus();\n self._zoomSlideShow(direction, vId);\n setTimeout(function () {\n if ($btn.attr(\"disabled\")) {\n $modal.focus();\n }\n }, delay);\n }, delay);\n }\n }\n });\n });\n },\n _showModal: function ($frame) {\n var self = this,\n $modal = self.$modal,\n $content,\n css,\n angle;\n if (!$frame || !$frame.length) {\n return;\n }\n $h.initModal($modal);\n $h.setHtml($modal, self._getModalContent());\n self._setZoomContent($frame);\n $modal.removeClass(\"rotatable\");\n $modal.data({ backdrop: false, fileinputPluginId: self.$element.attr(\"id\") });\n $modal.find(\".kv-zoom-body\").css(\"height\", self.zoomModalHeight);\n $content = $frame.find(\".kv-file-content > :first-child\");\n if ($content.length) {\n css = $content.css(\"transform\");\n if (css) {\n $modal.find(\".file-zoom-detail\").css(\"transform\", css);\n }\n }\n if ($frame.hasClass(\"rotatable\")) {\n $modal.addClass(\"rotatable\");\n }\n if ($frame.data(\"angle\")) {\n $modal.data(\"angle\", $frame.data(\"angle\"));\n }\n angle = $frame.data(\"angle\") || 0;\n $modal.modal(\"show\");\n self._initZoomButtons();\n self._initRotateZoom($frame, $content);\n },\n _zoomPreview: function ($btn) {\n var self = this,\n $frame;\n if (!$btn.length) {\n throw \"Cannot zoom to detailed preview!\";\n }\n $frame = $btn.closest($h.FRAMES);\n self._showModal($frame);\n },\n _zoomSlideShow: function (dir, previewId) {\n var self = this,\n $modal = self.$modal,\n $btn = $modal.find(\".kv-zoom-actions .btn-kv-\" + dir),\n $targFrame,\n i,\n $thumb,\n thumbsData = self.getFrames().toArray(),\n thumbs = [],\n len = thumbsData.length,\n out,\n angle,\n $content;\n if (self.reversePreviewOrder) {\n dir = dir === \"prev\" ? \"next\" : \"prev\";\n }\n if ($btn.attr(\"disabled\")) {\n return;\n }\n for (i = 0; i < len; i++) {\n $thumb = $(thumbsData[i]);\n if ($thumb && $thumb.length && $thumb.find(\".kv-file-zoom:visible\").length) {\n thumbs.push(thumbsData[i]);\n }\n }\n len = thumbs.length;\n for (i = 0; i < len; i++) {\n if ($(thumbs[i]).attr(\"id\") === previewId) {\n out = dir === \"prev\" ? i - 1 : i + 1;\n break;\n }\n }\n if (out < 0 || out >= len || !thumbs[out]) {\n return;\n }\n $targFrame = $(thumbs[out]);\n if ($targFrame.length) {\n self._setZoomContent($targFrame, dir);\n }\n self._initZoomButtons();\n if ($targFrame.length && $targFrame.hasClass(\"rotatable\")) {\n angle = $targFrame.data(\"angle\") || 0;\n $modal.addClass(\"rotatable\").data(\"angle\", angle);\n $content = $targFrame.find(\".kv-file-content > :first-child\");\n self._initRotateZoom($targFrame, $content);\n } else {\n $modal.removeClass(\"rotatable\").removeData(\"angle\");\n }\n self._raise(\"filezoom\" + dir, { previewId: previewId, modal: self.$modal });\n },\n _initZoomButton: function () {\n var self = this;\n self.$preview.find(\".kv-file-zoom\").each(function () {\n var $el = $(this);\n self._handler($el, \"click\", function () {\n self._zoomPreview($el);\n });\n });\n },\n _inputFileCount: function () {\n return this.$element[0].files.length;\n },\n _refreshPreview: function () {\n var self = this,\n files;\n if ((!self._inputFileCount() && !self.isAjaxUpload) || !self.showPreview || !self.isPreviewable) {\n return;\n }\n if (self.isAjaxUpload) {\n if (self.fileManager.count() > 0) {\n files = $.extend(true, [], self.getFileList());\n self.fileManager.clear();\n self._clearFileInput();\n } else {\n files = self.$element[0].files;\n }\n } else {\n files = self.$element[0].files;\n }\n if (files && files.length) {\n self.readFiles(files);\n }\n },\n _clearObjects: function ($el) {\n $el.find(\"video audio\").each(function () {\n this.pause();\n $(this).remove();\n });\n $el.find(\"img object div\").each(function () {\n $(this).remove();\n });\n },\n _clearFileInput: function () {\n var self = this,\n $el = self.$element,\n $srcFrm,\n $tmpFrm,\n $tmpEl;\n if (!self._inputFileCount()) {\n return;\n }\n $srcFrm = $el.closest(\"form\");\n $tmpFrm = $(document.createElement(\"form\"));\n $tmpEl = $(document.createElement(\"div\"));\n $el.before($tmpEl);\n if ($srcFrm.length) {\n $srcFrm.after($tmpFrm);\n } else {\n $tmpEl.after($tmpFrm);\n }\n $tmpFrm.append($el).trigger(\"reset\");\n $tmpEl.before($el).remove();\n $tmpFrm.remove();\n },\n _resetUpload: function () {\n var self = this;\n self.uploadInitiated = false;\n self.uploadStartTime = $h.now();\n self.uploadCache = [];\n self.$btnUpload.removeAttr(\"disabled\");\n self._setProgress(0);\n self._hideProgress();\n self._resetErrors(false);\n self._initAjax();\n self.fileManager.clearImages();\n self._resetCanvas();\n if (self.overwriteInitial) {\n self.initialPreview = [];\n self.initialPreviewConfig = [];\n self.initialPreviewThumbTags = [];\n self.previewCache.data = {\n content: [],\n config: [],\n tags: [],\n };\n }\n },\n _resetCanvas: function () {\n var self = this;\n if (self.imageCanvas && self.imageCanvasContext) {\n self.imageCanvasContext.clearRect(0, 0, self.imageCanvas.width, self.imageCanvas.height);\n }\n },\n _hasInitialPreview: function () {\n var self = this;\n return !self.overwriteInitial && self.previewCache.count(true);\n },\n _resetPreview: function () {\n var self = this,\n out,\n cap,\n $div,\n hasSuc = self.showUploadedThumbs,\n hasErr = !self.removeFromPreviewOnError,\n includeProcessed = (hasSuc || hasErr) && self.isDuplicateError;\n if (self.previewCache.count(true)) {\n out = self.previewCache.out();\n if (includeProcessed) {\n $div = $h.createDiv().insertAfter(self.$container);\n self.getFrames().each(function () {\n var $thumb = $(this);\n if (\n (hasSuc && $thumb.hasClass(\"file-preview-success\")) ||\n (hasErr && $thumb.hasClass(\"file-preview-error\"))\n ) {\n $div.append($thumb);\n }\n });\n }\n self._setPreviewContent(out.content);\n self._setInitThumbAttr();\n cap = self.initialCaption ? self.initialCaption : out.caption;\n self._setCaption(cap);\n if (includeProcessed) {\n $div.contents().appendTo(self.$preview);\n $div.remove();\n }\n } else {\n self._clearPreview();\n self._initCaption();\n }\n if (self.showPreview) {\n self._initZoom();\n self._initSortable();\n }\n self.isDuplicateError = false;\n },\n _clearDefaultPreview: function () {\n var self = this;\n self.$preview.find(\".file-default-preview\").remove();\n },\n _validateDefaultPreview: function () {\n var self = this;\n if (!self.showPreview || $h.isEmpty(self.defaultPreviewContent)) {\n return;\n }\n self._setPreviewContent('
    ' + self.defaultPreviewContent + \"
    \");\n self.$container.removeClass(\"file-input-new\");\n self._initClickable();\n },\n _resetPreviewThumbs: function (isAjax) {\n var self = this,\n out;\n if (isAjax) {\n self._clearPreview();\n self.clearFileStack();\n return;\n }\n if (self._hasInitialPreview()) {\n out = self.previewCache.out();\n self._setPreviewContent(out.content);\n self._setInitThumbAttr();\n self._setCaption(out.caption);\n self._initPreviewActions();\n } else {\n self._clearPreview();\n }\n },\n _getLayoutTemplate: function (t) {\n var self = this,\n template = self.layoutTemplates[t];\n if ($h.isEmpty(self.customLayoutTags)) {\n return template;\n }\n return $h.replaceTags(template, self.customLayoutTags);\n },\n _getPreviewTemplate: function (t) {\n var self = this,\n templates = self.previewTemplates,\n template = templates[t] || templates.other;\n if ($h.isEmpty(self.customPreviewTags)) {\n return template;\n }\n return $h.replaceTags(template, self.customPreviewTags);\n },\n _getOutData: function (formdata, jqXHR, responseData, filesData) {\n var self = this;\n jqXHR = jqXHR || {};\n responseData = responseData || {};\n filesData = filesData || self.fileManager.list();\n return {\n formdata: formdata,\n files: filesData,\n filenames: self.filenames,\n filescount: self.getFilesCount(),\n extra: self._getExtraData(),\n response: responseData,\n reader: self.reader,\n jqXHR: jqXHR,\n };\n },\n _getMsgSelected: function (n, processing) {\n var self = this,\n strFiles = n === 1 ? self.fileSingle : self.filePlural;\n return n > 0\n ? self.msgSelected.replace(\"{n}\", n).replace(\"{files}\", strFiles)\n : processing\n ? self.msgProcessing\n : self.msgNoFilesSelected;\n },\n _getFrame: function (id, skipWarning) {\n var self = this,\n $frame = $h.getFrameElement(self.$preview, id);\n if (self.showPreview && !skipWarning && !$frame.length) {\n self._log($h.logMessages.invalidThumb, { id: id });\n }\n return $frame;\n },\n _getZoom: function (id, selector) {\n var self = this,\n $frame = $h.getZoomElement(self.$preview, id, selector);\n if (self.showPreview && !$frame.length) {\n self._log($h.logMessages.invalidThumb, { id: id });\n }\n return $frame;\n },\n _getThumbs: function (css) {\n css = css || \"\";\n return this.getFrames(\":not(.file-preview-initial)\" + css);\n },\n _getThumbId: function (fileId) {\n var self = this;\n return self.previewInitId + \"-\" + fileId;\n },\n _getExtraData: function (fileId, index) {\n var self = this,\n data = self.uploadExtraData;\n if (typeof self.uploadExtraData === \"function\") {\n data = self.uploadExtraData(fileId, index);\n }\n return data;\n },\n _initXhr: function (xhrobj, fileId) {\n var self = this,\n fm = self.fileManager,\n func = function (event) {\n var pct = 0,\n total = event.total,\n loaded = event.loaded || event.position,\n stats = fm.getUploadStats(fileId, loaded, total);\n /** @namespace event.lengthComputable */\n if (event.lengthComputable && !self.enableResumableUpload) {\n pct = $h.round((loaded / total) * 100);\n }\n if (fileId) {\n self._setFileUploadStats(fileId, pct, stats);\n } else {\n self._setProgress(pct, null, null, self._getStats(stats));\n }\n self._raise(\"fileajaxprogress\", [stats]);\n };\n if (xhrobj.upload) {\n if (self.progressDelay) {\n func = $h.debounce(func, self.progressDelay);\n }\n xhrobj.upload.addEventListener(\"progress\", func, false);\n }\n return xhrobj;\n },\n _initAjaxSettings: function () {\n var self = this;\n self._ajaxSettings = $.extend(true, {}, self.ajaxSettings);\n self._ajaxDeleteSettings = $.extend(true, {}, self.ajaxDeleteSettings);\n },\n _mergeAjaxCallback: function (funcName, srcFunc, type) {\n var self = this,\n settings = self._ajaxSettings,\n flag = self.mergeAjaxCallbacks,\n targFunc;\n if (type === \"delete\") {\n settings = self._ajaxDeleteSettings;\n flag = self.mergeAjaxDeleteCallbacks;\n }\n targFunc = settings[funcName];\n if (flag && typeof targFunc === \"function\") {\n if (flag === \"before\") {\n settings[funcName] = function () {\n targFunc.apply(this, arguments);\n srcFunc.apply(this, arguments);\n };\n } else {\n settings[funcName] = function () {\n srcFunc.apply(this, arguments);\n targFunc.apply(this, arguments);\n };\n }\n } else {\n settings[funcName] = srcFunc;\n }\n },\n _ajaxSubmit: function (fnBefore, fnSuccess, fnComplete, fnError, formdata, fileId, index, vUrl) {\n var self = this,\n settings,\n defaults,\n data,\n tm = self.taskManager;\n if (!self._raise(\"filepreajax\", [formdata, fileId, index])) {\n return;\n }\n formdata.append(\"initialPreview\", JSON.stringify(self.initialPreview));\n formdata.append(\"initialPreviewConfig\", JSON.stringify(self.initialPreviewConfig));\n formdata.append(\"initialPreviewThumbTags\", JSON.stringify(self.initialPreviewThumbTags));\n self._initAjaxSettings();\n self._mergeAjaxCallback(\"beforeSend\", fnBefore);\n self._mergeAjaxCallback(\"success\", fnSuccess);\n self._mergeAjaxCallback(\"complete\", fnComplete);\n self._mergeAjaxCallback(\"error\", fnError);\n vUrl = vUrl || self.uploadUrlThumb || self.uploadUrl;\n if (typeof vUrl === \"function\") {\n vUrl = vUrl();\n }\n data = self._getExtraData(fileId, index) || {};\n if (typeof data === \"object\") {\n $.each(data, function (key, value) {\n formdata.append(key, value);\n });\n }\n defaults = {\n xhr: function () {\n var xhrobj = $.ajaxSettings.xhr();\n return self._initXhr(xhrobj, fileId);\n },\n url: self._encodeURI(vUrl),\n type: \"POST\",\n dataType: \"json\",\n data: formdata,\n cache: false,\n processData: false,\n contentType: false,\n };\n settings = $.extend(true, {}, defaults, self._ajaxSettings);\n self.ajaxQueue.push(settings);\n tm.addTask(fileId + \"-\" + index, function () {\n var self = this.self,\n config,\n xhr;\n config = self.ajaxQueue.shift();\n xhr = $.ajax(config);\n self.ajaxRequests.push(xhr);\n }).runWithContext({ self: self });\n },\n _mergeArray: function (prop, content) {\n var self = this,\n arr1 = $h.cleanArray(self[prop]),\n arr2 = $h.cleanArray(content);\n self[prop] = arr1.concat(arr2);\n },\n _initUploadSuccess: function (out, $thumb, allFiles) {\n var self = this,\n append,\n data,\n index,\n $div,\n content,\n config,\n tags,\n id,\n i;\n if (!self.showPreview || typeof out !== \"object\" || $.isEmptyObject(out)) {\n self._resetCaption();\n return;\n }\n if (out.initialPreview !== undefined && out.initialPreview.length > 0) {\n self.hasInitData = true;\n content = out.initialPreview || [];\n config = out.initialPreviewConfig || [];\n tags = out.initialPreviewThumbTags || [];\n append = out.append === undefined || out.append;\n if (content.length > 0 && !$h.isArray(content)) {\n content = content.split(self.initialPreviewDelimiter);\n }\n if (content.length) {\n self._mergeArray(\"initialPreview\", content);\n self._mergeArray(\"initialPreviewConfig\", config);\n self._mergeArray(\"initialPreviewThumbTags\", tags);\n }\n if ($thumb !== undefined) {\n if (!allFiles) {\n index = self.previewCache.add(content[0], config[0], tags[0], append);\n data = self.previewCache.get(index, false);\n $div = $h.createElement($h.cspBuffer.stash(data)).hide().appendTo($thumb);\n $h.cspBuffer.apply($thumb);\n $thumb.fadeOut(\"slow\", function () {\n var $newThumb = $div.find(\"> .file-preview-frame\");\n if ($newThumb && $newThumb.length) {\n $newThumb.insertBefore($thumb).fadeIn(\"slow\").css(\"display:inline-block\");\n }\n self._initPreviewActions();\n self._clearFileInput();\n $thumb.remove();\n $div.remove();\n self._initSortable();\n });\n } else {\n id = $thumb.attr(\"id\");\n i = self._getUploadCacheIndex(id);\n if (i !== null) {\n self.uploadCache[i] = {\n id: id,\n content: content[0],\n config: config[0] || [],\n tags: tags[0] || [],\n append: append,\n };\n }\n }\n } else {\n self.previewCache.set(content, config, tags, append);\n self._initPreview();\n self._initPreviewActions();\n }\n }\n self._resetCaption();\n },\n _getUploadCacheIndex: function (id) {\n var self = this,\n i,\n len = self.uploadCache.length,\n config;\n for (i = 0; i < len; i++) {\n config = self.uploadCache[i];\n if (config.id === id) {\n return i;\n }\n }\n return null;\n },\n _initSuccessThumbs: function () {\n var self = this;\n if (!self.showPreview) {\n return;\n }\n setTimeout(function () {\n self._getThumbs($h.FRAMES + \".file-preview-success\").each(function () {\n var $thumb = $(this),\n $remove = $thumb.find(\".kv-file-remove\");\n $remove.removeAttr(\"disabled\");\n self._handler($remove, \"click\", function () {\n var id = $thumb.attr(\"id\"),\n out = self._raise(\"filesuccessremove\", [id, $thumb.attr(\"data-fileindex\")]);\n $h.cleanMemory($thumb);\n if (out === false) {\n return;\n }\n self.$caption.attr(\"title\", \"\");\n $thumb.fadeOut(\"slow\", function () {\n var fm = self.fileManager;\n $thumb.remove();\n if (!self.getFrames().length) {\n self.reset();\n }\n });\n });\n });\n }, self.processDelay);\n },\n _updateInitialPreview: function () {\n var self = this,\n u = self.uploadCache;\n if (self.showPreview) {\n $.each(u, function (key, setting) {\n self.previewCache.add(setting.content, setting.config, setting.tags, setting.append);\n });\n if (self.hasInitData) {\n self._initPreview();\n self._initPreviewActions();\n }\n }\n },\n _getThumbFileId: function ($thumb) {\n var self = this;\n if (self.showPreview && $thumb !== undefined) {\n return $thumb.attr(\"data-fileid\");\n }\n return null;\n },\n _getThumbFile: function ($thumb) {\n var self = this,\n id = self._getThumbFileId($thumb);\n return id ? self.fileManager.getFile(id) : null;\n },\n _uploadSingle: function (i, id, isBatch, deferrer) {\n var self = this,\n fm = self.fileManager,\n count = fm.count(),\n formdata = new FormData(),\n outData,\n previewId = self._getThumbId(id),\n $thumb,\n chkComplete,\n $btnUpload,\n $btnDelete,\n hasPostData = count > 0 || !$.isEmptyObject(self.uploadExtraData),\n uploadFailed,\n $prog,\n fnBefore,\n errMsg,\n fnSuccess,\n fnComplete,\n fnError,\n updateUploadLog,\n op = self.ajaxOperations.uploadThumb,\n fileObj = fm.getFile(id),\n params = { id: previewId, index: i, fileId: id },\n fileName = self.fileManager.getFileName(id, true),\n resolve = function () {\n if (deferrer && deferrer.resolve) {\n deferrer.resolve();\n }\n },\n reject = function () {\n if (deferrer && deferrer.reject) {\n deferrer.reject();\n }\n };\n if (self.enableResumableUpload) {\n // not enabled for resumable uploads\n return;\n }\n self.uploadInitiated = true;\n if (self.showPreview) {\n $thumb = fm.getThumb(id);\n $prog = $thumb.find(\".file-thumb-progress\");\n $btnUpload = $thumb.find(\".kv-file-upload\");\n $btnDelete = $thumb.find(\".kv-file-remove\");\n $prog.show();\n }\n if (\n count === 0 ||\n !hasPostData ||\n (self.showPreview && $btnUpload && $btnUpload.hasClass(\"disabled\")) ||\n self._abort(params)\n ) {\n return;\n }\n updateUploadLog = function () {\n if (!uploadFailed) {\n fm.removeFile(id);\n } else {\n fm.errors.push(id);\n }\n fm.setProcessed(id);\n if (fm.isProcessed()) {\n self.fileBatchCompleted = true;\n chkComplete();\n }\n };\n chkComplete = function () {\n var $initThumbs;\n if (!self.fileBatchCompleted) {\n return;\n }\n setTimeout(function () {\n var triggerReset = fm.count() === 0,\n errCount = fm.errors.length;\n self._updateInitialPreview();\n self.unlock(triggerReset);\n if (triggerReset) {\n self._clearFileInput();\n }\n $initThumbs = self.$preview.find(\".file-preview-initial\");\n if (self.uploadAsync && $initThumbs.length) {\n $h.addCss($initThumbs, $h.SORT_CSS);\n self._initSortable();\n }\n self._raise(\"filebatchuploadcomplete\", [fm.stack, self._getExtraData()]);\n if (!self.retryErrorUploads || errCount === 0) {\n fm.clear();\n }\n self._setProgress(101);\n self.ajaxAborted = false;\n self.uploadInitiated = false;\n }, self.processDelay);\n };\n fnBefore = function (jqXHR) {\n outData = self._getOutData(formdata, jqXHR);\n fm.initStats(id);\n self.fileBatchCompleted = false;\n if (!isBatch) {\n self.ajaxAborted = false;\n }\n if (self.showPreview) {\n if (!$thumb.hasClass(\"file-preview-success\")) {\n self._setThumbStatus($thumb, \"Loading\");\n $h.addCss($thumb, \"file-uploading\");\n }\n $btnUpload.attr(\"disabled\", true);\n $btnDelete.attr(\"disabled\", true);\n }\n if (!isBatch) {\n self.lock();\n }\n if (fm.errors.indexOf(id) !== -1) {\n delete fm.errors[id];\n }\n self._raise(\"filepreupload\", [outData, previewId, i, self._getThumbFileId($thumb)]);\n $.extend(true, params, outData);\n if (self._abort(params)) {\n jqXHR.abort();\n\n if (!isBatch) {\n self._setThumbStatus($thumb, \"New\");\n $thumb.removeClass(\"file-uploading\");\n $btnUpload.removeAttr(\"disabled\");\n $btnDelete.removeAttr(\"disabled\");\n }\n self._setProgressCancelled();\n }\n };\n fnSuccess = function (data, textStatus, jqXHR) {\n var pid = self.showPreview && $thumb.attr(\"id\") ? $thumb.attr(\"id\") : previewId;\n outData = self._getOutData(formdata, jqXHR, data);\n $.extend(true, params, outData);\n setTimeout(function () {\n if ($h.isEmpty(data) || $h.isEmpty(data.error)) {\n if (self.showPreview) {\n self._setThumbStatus($thumb, \"Success\");\n $btnUpload.hide();\n self._initUploadSuccess(data, $thumb, isBatch);\n self._setProgress(101, $prog);\n }\n self._raise(\"fileuploaded\", [outData, pid, i, self._getThumbFileId($thumb)]);\n if (!isBatch) {\n self.fileManager.remove($thumb);\n } else {\n updateUploadLog();\n resolve();\n }\n } else {\n uploadFailed = true;\n errMsg = self._parseError(op, jqXHR, self.msgUploadError, self.fileManager.getFileName(id));\n self._showFileError(errMsg, params);\n self._setPreviewError($thumb, true);\n if (!self.retryErrorUploads) {\n $btnUpload.hide();\n }\n if (isBatch) {\n updateUploadLog();\n resolve();\n }\n self._setProgress(101, self._getFrame(pid).find(\".file-thumb-progress\"), self.msgUploadError);\n }\n }, self.processDelay);\n };\n fnComplete = function () {\n if (self.showPreview) {\n $btnUpload.removeAttr(\"disabled\");\n $btnDelete.removeAttr(\"disabled\");\n $thumb.removeClass(\"file-uploading\");\n }\n if (!isBatch) {\n self.unlock(false);\n self._clearFileInput();\n } else {\n chkComplete();\n }\n self._initSuccessThumbs();\n };\n fnError = function (jqXHR, textStatus, errorThrown) {\n errMsg = self._parseError(op, jqXHR, errorThrown, self.fileManager.getFileName(id));\n uploadFailed = true;\n setTimeout(function () {\n var $prog;\n if (isBatch) {\n updateUploadLog();\n reject();\n }\n self.fileManager.setProgress(id, 100);\n self._setPreviewError($thumb, true);\n if (!self.retryErrorUploads) {\n $btnUpload.hide();\n }\n $.extend(true, params, self._getOutData(formdata, jqXHR));\n self._setProgress(101, self.$progress, self.msgAjaxProgressError.replace(\"{operation}\", op));\n $prog = self.showPreview && $thumb ? $thumb.find(\".file-thumb-progress\") : \"\";\n self._setProgress(101, $prog, self.msgUploadError);\n self._showFileError(errMsg, params);\n }, self.processDelay);\n };\n self._setFileData(formdata, fileObj.file, fileName, id);\n self._setUploadData(formdata, { fileId: id });\n self._ajaxSubmit(fnBefore, fnSuccess, fnComplete, fnError, formdata, id, i);\n },\n _setFileData: function (formdata, file, fileName, fileId) {\n var self = this,\n preProcess = self.preProcessUpload;\n if (preProcess && typeof preProcess === \"function\") {\n formdata.append(self.uploadFileAttr, preProcess(fileId, file));\n } else {\n formdata.append(self.uploadFileAttr, file, fileName);\n }\n },\n _checkBatchPreupload: function (outData, jqXHR) {\n var self = this,\n out = self._raise(\"filebatchpreupload\", [outData]);\n if (out) {\n return true;\n }\n self._abort(outData);\n if (jqXHR) {\n jqXHR.abort();\n }\n self._getThumbs().each(function () {\n var $thumb = $(this),\n $btnUpload = $thumb.find(\".kv-file-upload\"),\n $btnDelete = $thumb.find(\".kv-file-remove\");\n if ($thumb.hasClass(\"file-preview-loading\")) {\n self._setThumbStatus($thumb, \"New\");\n $thumb.removeClass(\"file-uploading\");\n }\n $btnUpload.removeAttr(\"disabled\");\n $btnDelete.removeAttr(\"disabled\");\n });\n self._setProgressCancelled();\n return false;\n },\n _uploadBatch: function () {\n var self = this,\n fm = self.fileManager,\n total = fm.total(),\n params = {},\n fnBefore,\n fnSuccess,\n fnError,\n fnComplete,\n hasPostData = total > 0 || !$.isEmptyObject(self.uploadExtraData),\n errMsg,\n setAllUploaded,\n formdata = new FormData(),\n op = self.ajaxOperations.uploadBatch;\n if (total === 0 || !hasPostData || self._abort(params)) {\n return;\n }\n setAllUploaded = function () {\n self.fileManager.clear();\n self._clearFileInput();\n };\n fnBefore = function (jqXHR) {\n self.lock();\n fm.initStats();\n var outData = self._getOutData(formdata, jqXHR);\n self.ajaxAborted = false;\n if (self.showPreview) {\n self._getThumbs().each(function () {\n var $thumb = $(this),\n $btnUpload = $thumb.find(\".kv-file-upload\"),\n $btnDelete = $thumb.find(\".kv-file-remove\");\n if (!$thumb.hasClass(\"file-preview-success\")) {\n self._setThumbStatus($thumb, \"Loading\");\n $h.addCss($thumb, \"file-uploading\");\n }\n $btnUpload.attr(\"disabled\", true);\n $btnDelete.attr(\"disabled\", true);\n });\n }\n self._checkBatchPreupload(outData, jqXHR);\n };\n fnSuccess = function (data, textStatus, jqXHR) {\n /** @namespace data.errorkeys */\n var outData = self._getOutData(formdata, jqXHR, data),\n key = 0,\n $thumbs = self._getThumbs(\":not(.file-preview-success)\"),\n keys = $h.isEmpty(data) || $h.isEmpty(data.errorkeys) ? [] : data.errorkeys;\n\n if ($h.isEmpty(data) || $h.isEmpty(data.error)) {\n self._raise(\"filebatchuploadsuccess\", [outData]);\n setAllUploaded();\n if (self.showPreview) {\n $thumbs.each(function () {\n var $thumb = $(this);\n self._setThumbStatus($thumb, \"Success\");\n $thumb.removeClass(\"file-uploading\");\n $thumb.find(\".kv-file-upload\").hide().removeAttr(\"disabled\");\n });\n self._initUploadSuccess(data);\n } else {\n self.reset();\n }\n self._setProgress(101);\n } else {\n if (self.showPreview) {\n $thumbs.each(function () {\n var $thumb = $(this);\n $thumb.removeClass(\"file-uploading\");\n $thumb.find(\".kv-file-upload\").removeAttr(\"disabled\");\n $thumb.find(\".kv-file-remove\").removeAttr(\"disabled\");\n if (keys.length === 0 || $.inArray(key, keys) !== -1) {\n self._setPreviewError($thumb, true);\n if (!self.retryErrorUploads) {\n $thumb.find(\".kv-file-upload\").hide();\n self.fileManager.remove($thumb);\n }\n } else {\n $thumb.find(\".kv-file-upload\").hide();\n self._setThumbStatus($thumb, \"Success\");\n self.fileManager.remove($thumb);\n }\n if (!$thumb.hasClass(\"file-preview-error\") || self.retryErrorUploads) {\n key++;\n }\n });\n self._initUploadSuccess(data);\n }\n errMsg = self._parseError(op, jqXHR, self.msgUploadError);\n self._showFileError(errMsg, outData, \"filebatchuploaderror\");\n self._setProgress(101, self.$progress, self.msgUploadError);\n }\n };\n fnComplete = function () {\n self.unlock();\n self._initSuccessThumbs();\n self._clearFileInput();\n self._raise(\"filebatchuploadcomplete\", [self.fileManager.stack, self._getExtraData()]);\n };\n fnError = function (jqXHR, textStatus, errorThrown) {\n var outData = self._getOutData(formdata, jqXHR);\n errMsg = self._parseError(op, jqXHR, errorThrown);\n self._showFileError(errMsg, outData, \"filebatchuploaderror\");\n self.uploadFileCount = total - 1;\n if (!self.showPreview) {\n return;\n }\n self._getThumbs().each(function () {\n var $thumb = $(this);\n $thumb.removeClass(\"file-uploading\");\n if (self._getThumbFile($thumb)) {\n self._setPreviewError($thumb);\n }\n });\n self._getThumbs().removeClass(\"file-uploading\");\n self._getThumbs(\" .kv-file-upload\").removeAttr(\"disabled\");\n self._getThumbs(\" .kv-file-delete\").removeAttr(\"disabled\");\n self._setProgress(101, self.$progress, self.msgAjaxProgressError.replace(\"{operation}\", op));\n };\n var ctr = 0;\n $.each(self.fileManager.stack, function (key, data) {\n if (!$h.isEmpty(data.file)) {\n self._setFileData(formdata, data.file, data.nameFmt || \"untitled_\" + ctr, key);\n }\n ctr++;\n });\n self._ajaxSubmit(fnBefore, fnSuccess, fnComplete, fnError, formdata);\n },\n _uploadExtraOnly: function () {\n var self = this,\n params = {},\n fnBefore,\n fnSuccess,\n fnComplete,\n fnError,\n formdata = new FormData(),\n errMsg,\n op = self.ajaxOperations.uploadExtra;\n fnBefore = function (jqXHR) {\n self.lock();\n var outData = self._getOutData(formdata, jqXHR);\n self._setProgress(50);\n params.data = outData;\n params.xhr = jqXHR;\n self._checkBatchPreupload(outData, jqXHR);\n };\n fnSuccess = function (data, textStatus, jqXHR) {\n var outData = self._getOutData(formdata, jqXHR, data);\n if ($h.isEmpty(data) || $h.isEmpty(data.error)) {\n self._raise(\"filebatchuploadsuccess\", [outData]);\n self._clearFileInput();\n self._initUploadSuccess(data);\n self._setProgress(101);\n } else {\n errMsg = self._parseError(op, jqXHR, self.msgUploadError);\n self._showFileError(errMsg, outData, \"filebatchuploaderror\");\n }\n };\n fnComplete = function () {\n self.unlock();\n self._clearFileInput();\n self._raise(\"filebatchuploadcomplete\", [self.fileManager.stack, self._getExtraData()]);\n };\n fnError = function (jqXHR, textStatus, errorThrown) {\n var outData = self._getOutData(formdata, jqXHR);\n errMsg = self._parseError(op, jqXHR, errorThrown);\n params.data = outData;\n self._showFileError(errMsg, outData, \"filebatchuploaderror\");\n self._setProgress(101, self.$progress, self.msgAjaxProgressError.replace(\"{operation}\", op));\n };\n self._ajaxSubmit(fnBefore, fnSuccess, fnComplete, fnError, formdata);\n },\n _deleteFileIndex: function ($frame) {\n var self = this,\n ind = $frame.attr(\"data-fileindex\"),\n rev = self.reversePreviewOrder;\n if (ind.substring(0, 5) === $h.INIT_FLAG) {\n ind = parseInt(ind.replace($h.INIT_FLAG, \"\"));\n self.initialPreview = $h.spliceArray(self.initialPreview, ind, rev);\n self.initialPreviewConfig = $h.spliceArray(self.initialPreviewConfig, ind, rev);\n self.initialPreviewThumbTags = $h.spliceArray(self.initialPreviewThumbTags, ind, rev);\n self.getFrames().each(function () {\n var $nFrame = $(this),\n nInd = $nFrame.attr(\"data-fileindex\");\n if (nInd.substring(0, 5) === $h.INIT_FLAG) {\n nInd = parseInt(nInd.replace($h.INIT_FLAG, \"\"));\n if (nInd > ind) {\n nInd--;\n $nFrame.attr(\"data-fileindex\", $h.INIT_FLAG + nInd);\n }\n }\n });\n }\n },\n _resetCaption: function () {\n var self = this;\n setTimeout(function () {\n var cap = \"\",\n n,\n chk = self.previewCache.count(true),\n len = self.fileManager.count(),\n file,\n incomplete = \":not(.file-preview-success):not(.file-preview-error)\",\n cfg,\n hasThumb = self.showPreview && self.getFrames(incomplete).length;\n if (len === 0 && chk === 0 && !hasThumb) {\n self.reset();\n } else {\n n = chk + len;\n if (n > 1) {\n cap = self._getMsgSelected(n);\n } else {\n if (len === 0) {\n cfg = self.initialPreviewConfig[0];\n cap = \"\";\n if (cfg) {\n cap = cfg.caption || cfg.filename || \"\";\n }\n if (!cap) {\n cap = self._getMsgSelected(n);\n }\n } else {\n file = self.fileManager.getFirstFile();\n cap = file ? file.nameFmt : \"_\";\n }\n }\n self._setCaption(cap);\n }\n }, self.processDelay);\n },\n _handleRotation: function ($el, $content, angle) {\n var self = this,\n css,\n newCss,\n addCss = \"\",\n scale = 1,\n elContent = $content[0],\n quadrant,\n transform,\n h,\n w,\n wNew,\n $parent = $content.parent(),\n hParent,\n wParent,\n $body = $(\"body\"),\n bodyExists = !!$body.length;\n if (bodyExists) {\n $body.addClass(\"kv-overflow-hidden\");\n }\n if (!$content.length || $el.hasClass(\"hide-rotate\")) {\n if (bodyExists) {\n $body.removeClass(\"kv-overflow-hidden\");\n }\n return;\n }\n transform = $content.css(\"transform\");\n if (transform) {\n $content.css(\"transform\", \"none\");\n }\n if (transform) {\n $content.css(\"transform\", transform);\n }\n angle = angle || 0;\n quadrant = angle % 360;\n css = \"rotate(\" + angle + \"deg)\";\n newCss = \"rotate(\" + quadrant + \"deg)\";\n addCss = \"\";\n if (quadrant === 90 || quadrant === 270) {\n w = elContent.naturalWidth || $content.outerWidth() || 0;\n h = elContent.naturalHeight || $content.outerHeight() || 0;\n scale = w > h && w != 0 ? (h / w).toFixed(2) : 1;\n if ($parent.length) {\n hParent = $parent.height();\n wParent = $parent.width();\n wNew = Math.min(w, wParent);\n if (hParent > scale * wNew) {\n scale = wNew > hParent && wNew != 0 ? (hParent / wNew).toFixed(2) : 1;\n }\n }\n if (scale !== 1) {\n addCss = \" scale(\" + scale + \")\";\n }\n }\n $content.addClass(\"rotate-animate\").css(\"transform\", css + addCss);\n setTimeout(function () {\n $content.removeClass(\"rotate-animate\").css(\"transform\", newCss + addCss);\n if (bodyExists) {\n $body.removeClass(\"kv-overflow-hidden\");\n }\n $el.data(\"angle\", quadrant);\n }, self.fadeDelay);\n },\n _initRotateButton: function () {\n var self = this;\n self.getFrames(\".rotatable .kv-file-rotate\").each(function () {\n var $el = $(this),\n $frame = $el.closest($h.FRAMES),\n $content = $frame.find(\".kv-file-content > :first-child\");\n self._handler($el, \"click\", function () {\n var angle = ($frame.data(\"angle\") || 0) + 90;\n self._handleRotation($frame, $content, angle);\n });\n });\n },\n _initRotateZoom: function ($frame, $content) {\n var self = this,\n $modal = self.$modal,\n $rotate = $modal.find(\".btn-kv-rotate\"),\n angle = $frame.data(\"angle\");\n $modal.data(\"angle\", angle);\n if ($rotate.length) {\n $rotate.off(\"click\");\n if ($modal.hasClass(\"rotatable\")) {\n $rotate.on(\"click\", function () {\n angle = ($modal.data(\"angle\") || 0) + 90;\n $modal.data(\"angle\", angle);\n self._handleRotation($modal, $modal.find(\".file-zoom-detail\"), angle);\n self._handleRotation($frame, $content, angle);\n if ($frame.hasClass(\"hide-rotate\")) {\n $frame.data(\"angle\", angle);\n }\n });\n }\n }\n },\n _initFileActions: function () {\n var self = this;\n if (!self.showPreview) {\n return;\n }\n self._initZoomButton();\n self._initRotateButton();\n self.getFrames(\" .kv-file-remove\").each(function () {\n var $el = $(this),\n $frame = $el.closest($h.FRAMES),\n hasError,\n id = $frame.attr(\"id\"),\n ind = $frame.attr(\"data-fileindex\"),\n status,\n fm = self.fileManager;\n self._handler($el, \"click\", function () {\n status = self._raise(\"filepreremove\", [id, ind]);\n if (status === false || !self._validateMinCount()) {\n return false;\n }\n hasError = $frame.hasClass(\"file-preview-error\");\n $h.cleanMemory($frame);\n $frame.fadeOut(\"slow\", function () {\n self.fileManager.remove($frame);\n self._clearObjects($frame);\n $frame.remove();\n if (id && hasError) {\n self.$errorContainer.find('li[data-thumb-id=\"' + id + '\"]').fadeOut(\"fast\", function () {\n $(this).remove();\n if (!self._errorsExist()) {\n self._resetErrors();\n }\n });\n }\n self._clearFileInput();\n self._resetCaption();\n self._raise(\"fileremoved\", [id, ind]);\n });\n });\n });\n self.getFrames(\" .kv-file-upload\").each(function () {\n var $el = $(this);\n self._handler($el, \"click\", function () {\n var $frame = $el.closest($h.FRAMES),\n fileId = self._getThumbFileId($frame);\n self._hideProgress();\n if ($frame.hasClass(\"file-preview-error\") && !self.retryErrorUploads) {\n return;\n }\n self._uploadSingle(self.fileManager.getIndex(fileId), fileId, false);\n });\n });\n },\n _initPreviewActions: function () {\n var self = this,\n $preview = self.$preview,\n deleteExtraData = self.deleteExtraData || {},\n btnRemove = $h.FRAMES + \" .kv-file-remove\",\n settings = self.fileActionSettings,\n origClass = settings.removeClass,\n errClass = settings.removeErrorClass,\n resetProgress = function () {\n var hasFiles = self.isAjaxUpload ? self.previewCache.count(true) : self._inputFileCount();\n if (!self.getFrames().length && !hasFiles) {\n self._setCaption(\"\");\n self.reset();\n self.initialCaption = \"\";\n } else {\n self._resetCaption();\n }\n };\n self._initZoomButton();\n self._initRotateButton();\n $preview.find(btnRemove).each(function () {\n var $el = $(this),\n vUrl = $el.data(\"url\") || self.deleteUrl,\n vKey = $el.data(\"key\"),\n errMsg,\n fnBefore,\n fnSuccess,\n fnError,\n op = self.ajaxOperations.deleteThumb;\n if ($h.isEmpty(vUrl) || vKey === undefined) {\n return;\n }\n if (typeof vUrl === \"function\") {\n vUrl = vUrl();\n }\n var $frame = $el.closest($h.FRAMES),\n cache = self.previewCache.data,\n settings,\n params,\n config,\n fileName,\n extraData,\n index = $frame.attr(\"data-fileindex\");\n index = parseInt(index.replace($h.INIT_FLAG, \"\"));\n config = $h.isEmpty(cache.config) && $h.isEmpty(cache.config[index]) ? null : cache.config[index];\n extraData = $h.isEmpty(config) || $h.isEmpty(config.extra) ? deleteExtraData : config.extra;\n fileName = (config && (config.filename || config.caption)) || \"\";\n if (typeof extraData === \"function\") {\n extraData = extraData();\n }\n params = { id: $el.attr(\"id\"), key: vKey, extra: extraData };\n fnBefore = function (jqXHR) {\n self.ajaxAborted = false;\n self._raise(\"filepredelete\", [vKey, jqXHR, extraData]);\n if (self._abort()) {\n jqXHR.abort();\n } else {\n $el.removeClass(errClass);\n $h.addCss($frame, \"file-uploading\");\n $h.addCss($el, \"disabled \" + origClass);\n }\n };\n fnSuccess = function (data, textStatus, jqXHR) {\n var n, cap;\n if (!$h.isEmpty(data) && !$h.isEmpty(data.error)) {\n params.jqXHR = jqXHR;\n params.response = data;\n errMsg = self._parseError(op, jqXHR, self.msgDeleteError, fileName);\n self._showFileError(errMsg, params, \"filedeleteerror\");\n $frame.removeClass(\"file-uploading\");\n $el.removeClass(\"disabled \" + origClass).addClass(errClass);\n resetProgress();\n return;\n }\n $frame.removeClass(\"file-uploading\").addClass(\"file-deleted\");\n $frame.fadeOut(\"slow\", function () {\n index = parseInt($frame.attr(\"data-fileindex\").replace($h.INIT_FLAG, \"\"));\n self.previewCache.unset(index);\n self._deleteFileIndex($frame);\n n = self.previewCache.count(true);\n cap = n > 0 ? self._getMsgSelected(n) : \"\";\n self._setCaption(cap);\n self._raise(\"filedeleted\", [vKey, jqXHR, extraData]);\n self._clearObjects($frame);\n $frame.remove();\n resetProgress();\n });\n };\n fnError = function (jqXHR, textStatus, errorThrown) {\n var errMsg = self._parseError(op, jqXHR, errorThrown, fileName);\n params.jqXHR = jqXHR;\n params.response = {};\n self._showFileError(errMsg, params, \"filedeleteerror\");\n $frame.removeClass(\"file-uploading\");\n $el.removeClass(\"disabled \" + origClass).addClass(errClass);\n resetProgress();\n };\n self._initAjaxSettings();\n self._mergeAjaxCallback(\"beforeSend\", fnBefore, \"delete\");\n self._mergeAjaxCallback(\"success\", fnSuccess, \"delete\");\n self._mergeAjaxCallback(\"error\", fnError, \"delete\");\n settings = $.extend(\n true,\n {},\n {\n url: self._encodeURI(vUrl),\n type: \"POST\",\n dataType: \"json\",\n data: $.extend(true, {}, { key: vKey }, extraData),\n },\n self._ajaxDeleteSettings\n );\n self._handler($el, \"click\", function () {\n if (!self._validateMinCount()) {\n return false;\n }\n self.ajaxAborted = false;\n self._raise(\"filebeforedelete\", [vKey, extraData]);\n if (self.ajaxAborted instanceof Promise) {\n self.ajaxAborted.then(function (result) {\n if (!result) {\n $.ajax(settings);\n }\n });\n } else {\n if (!self.ajaxAborted) {\n $.ajax(settings);\n }\n }\n });\n });\n },\n _hideFileIcon: function () {\n var self = this;\n if (self.overwriteInitial) {\n self.$captionContainer.removeClass(\"icon-visible\");\n }\n },\n _showFileIcon: function () {\n var self = this;\n $h.addCss(self.$captionContainer, \"icon-visible\");\n },\n _getSize: function (bytes, skipTemplate, sizeUnits) {\n var self = this,\n size = parseFloat(bytes),\n i = 0,\n factor = self.bytesToKB,\n func = self.fileSizeGetter,\n out,\n sizeHuman = size,\n newSize;\n if (!$h.isNumeric(bytes) || !$h.isNumeric(size)) {\n return \"\";\n }\n if (typeof func === \"function\") {\n out = func(size);\n } else {\n if (!sizeUnits) {\n sizeUnits = self.sizeUnits;\n }\n if (size > 0) {\n while (sizeHuman >= factor) {\n sizeHuman /= factor;\n ++i;\n }\n if (!sizeUnits[i]) {\n sizeHuman = size;\n i = 0;\n }\n }\n newSize = sizeHuman.toFixed(2);\n if (newSize == sizeHuman) {\n newSize = sizeHuman;\n }\n out = newSize + \" \" + sizeUnits[i];\n }\n return skipTemplate ? out : self._getLayoutTemplate(\"size\").replace(\"{sizeText}\", out);\n },\n _getFileType: function (ftype) {\n var self = this;\n return self.mimeTypeAliases[ftype] || ftype;\n },\n _generatePreviewTemplate: function (\n cat,\n data,\n fname,\n ftype,\n previewId,\n fileId,\n isError,\n size,\n fnameUpdated,\n frameClass,\n foot,\n ind,\n templ,\n attrs,\n zoomData\n ) {\n var self = this,\n caption = self.slug(fname),\n prevContent,\n zoomContent = \"\",\n styleAttribs = \"\",\n filename = fnameUpdated || fname,\n isIconic,\n ext = filename.split(\".\").pop().toLowerCase(),\n screenW = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth,\n config,\n title = caption,\n alt = caption,\n typeCss = \"type-default\",\n getContent,\n addFrameCss,\n footer = foot || self._renderFileFooter(cat, caption, size, \"auto\", isError),\n isRotatable,\n alwaysPreview = $.inArray(ext, self.alwaysPreviewFileExtensions) !== -1,\n forcePrevIcon = self.preferIconicPreview && !alwaysPreview,\n forceZoomIcon = self.preferIconicZoomPreview && !alwaysPreview,\n newCat = forcePrevIcon ? \"other\" : cat;\n config =\n screenW < 400\n ? self.previewSettingsSmall[newCat] || self.defaults.previewSettingsSmall[newCat]\n : self.previewSettings[newCat] || self.defaults.previewSettings[newCat];\n if (config) {\n $.each(config, function (key, val) {\n styleAttribs += key + \":\" + val + \";\";\n });\n }\n getContent = function (vCat, vData, zoom, frameCss, vZoomData) {\n var id = zoom ? \"zoom-\" + previewId : previewId,\n tmplt = self._getPreviewTemplate(vCat),\n css = (frameClass || \"\") + \" \" + frameCss,\n tokens;\n if (self.frameClass) {\n css = self.frameClass + \" \" + css;\n }\n if (zoom) {\n css = css.replace(\" \" + $h.SORT_CSS, \"\");\n }\n tmplt = self._parseFilePreviewIcon(tmplt, fname);\n if (cat === \"object\" && !ftype) {\n $.each(self.defaults.fileTypeSettings, function (key, func) {\n if (key === \"object\" || key === \"other\") {\n return;\n }\n if (func(fname, ftype)) {\n typeCss = \"type-\" + key;\n }\n });\n }\n if (!$h.isEmpty(attrs)) {\n if (attrs.title !== undefined && attrs.title !== null) {\n title = attrs.title;\n }\n if (attrs.alt !== undefined && attrs.alt !== null) {\n alt = title = attrs.alt;\n }\n }\n tokens = {\n previewId: id,\n caption: caption,\n title: title,\n alt: alt,\n frameClass: css,\n type: self._getFileType(ftype),\n fileindex: ind,\n fileid: fileId || \"\",\n filename: filename,\n typeCss: typeCss,\n footer: footer,\n data: zoom && vZoomData ? self.zoomPlaceholder + \"{zoomData}\" : vData,\n template: templ || cat,\n style: styleAttribs ? 'style=\"' + styleAttribs + '\"' : \"\",\n zoomData: vZoomData ? encodeURIComponent(vZoomData) : \"\",\n };\n if (zoom) {\n tokens.zoomCache = \"\";\n tokens.zoomData = \"{zoomData}\";\n }\n return tmplt.setTokens(tokens);\n };\n ind = ind || previewId.slice(previewId.lastIndexOf(\"-\") + 1);\n isRotatable = self.fileActionSettings.showRotate && $.inArray(ext, self.rotatableFileExtensions) !== -1;\n if (self.fileActionSettings.showZoom) {\n addFrameCss = \"kv-zoom-thumb\";\n if (isRotatable) {\n addFrameCss += \" rotatable\" + (forceZoomIcon ? \" hide-rotate\" : \"\");\n }\n zoomContent = getContent(forceZoomIcon ? \"other\" : cat, data, true, addFrameCss, zoomData);\n }\n zoomContent = \"\\n\" + self._getLayoutTemplate(\"zoomCache\").replace(\"{zoomContent}\", zoomContent);\n if (typeof self.sanitizeZoomCache === \"function\") {\n zoomContent = self.sanitizeZoomCache(zoomContent);\n }\n addFrameCss = \"kv-preview-thumb\";\n if (isRotatable) {\n isIconic = forcePrevIcon || self.hideThumbnailContent || !!self.previewFileIconSettings[ext];\n addFrameCss += \" rotatable\" + (isIconic ? \" hide-rotate\" : \"\");\n }\n prevContent = getContent(forcePrevIcon ? \"other\" : cat, data, false, addFrameCss, zoomData);\n return prevContent.setTokens({ zoomCache: zoomContent });\n },\n _addToPreview: function ($preview, content) {\n var self = this,\n $el;\n content = $h.cspBuffer.stash(content);\n $el = self.reversePreviewOrder ? $preview.prepend(content) : $preview.append(content);\n $h.cspBuffer.apply($preview);\n return $el;\n },\n _previewDefault: function (file, isDisabled) {\n var self = this,\n $preview = self.$preview;\n if (!self.showPreview) {\n return;\n }\n var fname = $h.getFileName(file),\n ftype = file ? file.type : \"\",\n content,\n size = file.size || 0,\n caption = self._getFileName(file, \"\"),\n isError = isDisabled === true && !self.isAjaxUpload,\n data = $h.createObjectURL(file),\n fileId = self.fileManager.getId(file),\n previewId = self._getThumbId(fileId);\n self._clearDefaultPreview();\n content = self._generatePreviewTemplate(\"other\", data, fname, ftype, previewId, fileId, isError, size);\n self._addToPreview($preview, content);\n self._setThumbAttr(previewId, caption, size);\n if (isDisabled === true && self.isAjaxUpload) {\n self._setThumbStatus(self._getFrame(previewId), \"Error\");\n }\n },\n _previewFile: function (i, file, theFile, data, fileInfo) {\n if (!this.showPreview) {\n return;\n }\n var self = this,\n fname = $h.getFileName(file),\n ftype = fileInfo.type,\n content,\n caption = fileInfo.name,\n cat = self._parseFileType(ftype, fname),\n $preview = self.$preview,\n fsize = file.size || 0,\n iData = cat === \"image\" ? theFile.target.result : data,\n fm = self.fileManager,\n fileId = fm.getId(file),\n previewId = self._getThumbId(fileId);\n /** @namespace window.DOMPurify */\n content = self._generatePreviewTemplate(\n cat,\n iData,\n fname,\n ftype,\n previewId,\n fileId,\n false,\n fsize,\n fileInfo.filename\n );\n self._clearDefaultPreview();\n self._addToPreview($preview, content);\n var $thumb = self._getFrame(previewId);\n self._validateImageOrientation($thumb.find(\"img\"), file, previewId, fileId, caption, ftype, fsize, iData);\n self._setThumbAttr(previewId, caption, fsize);\n self._initSortable();\n },\n _setThumbAttr: function (id, caption, size, description) {\n var self = this,\n $frame = self._getFrame(id);\n if ($frame.length) {\n size = size && size > 0 ? self._getSize(size) : \"\";\n $frame.data({ caption: caption, size: size, description: description || \"\" });\n }\n },\n _setInitThumbAttr: function () {\n var self = this,\n data = self.previewCache.data,\n len = self.previewCache.count(true),\n config,\n caption,\n size,\n description,\n previewId;\n if (len === 0) {\n return;\n }\n for (var i = 0; i < len; i++) {\n config = data.config[i];\n previewId = self.previewInitId + \"-\" + $h.INIT_FLAG + i;\n caption = $h.ifSet(\"caption\", config, $h.ifSet(\"filename\", config));\n size = $h.ifSet(\"size\", config);\n description = $h.ifSet(\"description\", config);\n self._setThumbAttr(previewId, caption, size, description);\n }\n },\n _slugDefault: function (text) {\n // noinspection RegExpRedundantEscape\n return $h.isEmpty(text, true) ? \"\" : String(text).replace(/[\\[\\]\\/\\{}:;#%=\\(\\)\\*\\+\\?\\\\\\^\\$\\|<>&\"']/g, \"_\");\n },\n _updateFileDetails: function (numFiles) {\n var self = this,\n $el = self.$element,\n label,\n n,\n log,\n nFiles,\n file,\n name = ($h.isIE(9) && $h.findFileName($el.val())) || ($el[0].files[0] && $el[0].files[0].name);\n if (!name && self.fileManager.count() > 0) {\n file = self.fileManager.getFirstFile();\n label = file.nameFmt;\n } else {\n label = name ? self.slug(name) : \"_\";\n }\n n = self.isAjaxUpload ? self.fileManager.count() : numFiles;\n nFiles = self.previewCache.count(true) + n;\n log = n === 1 ? label : self._getMsgSelected(nFiles, !self.isAjaxUpload && !self.isError);\n if (self.isError) {\n self.$previewContainer.removeClass(\"file-thumb-loading\");\n self._initCapStatus();\n self.$previewStatus.html(\"\");\n self.$captionContainer.removeClass(\"icon-visible\");\n } else {\n self._showFileIcon();\n }\n self._setCaption(log, self.isError);\n self.$container.removeClass(\"file-input-new file-input-ajax-new\");\n self._raise(\"fileselect\", [numFiles, label]);\n if (self.previewCache.count(true)) {\n self._initPreviewActions();\n }\n },\n _setThumbStatus: function ($thumb, status) {\n var self = this;\n if (!self.showPreview) {\n return;\n }\n var icon = \"indicator\" + status,\n msg = icon + \"Title\",\n css = \"file-preview-\" + status.toLowerCase(),\n $indicator = $thumb.find(\".file-upload-indicator\"),\n config = self.fileActionSettings;\n $thumb.removeClass(\"file-preview-success file-preview-error file-preview-paused file-preview-loading\");\n if (status === \"Success\") {\n $thumb.find(\".file-drag-handle\").remove();\n }\n $h.setHtml($indicator, config[icon]);\n $indicator.attr(\"title\", config[msg]);\n $thumb.addClass(css);\n if (status === \"Error\" && !self.retryErrorUploads) {\n $thumb.find(\".kv-file-upload\").attr(\"disabled\", true);\n }\n },\n _setProgressCancelled: function () {\n var self = this;\n self._setProgress(101, self.$progress, self.msgCancelled);\n },\n _setProgress: function (p, $el, error, stats) {\n var self = this;\n $el = $el || self.$progress;\n if (!$el.length) {\n return;\n }\n var pct = Math.min(p, 100),\n out,\n pctLimit = self.progressUploadThreshold,\n t = p <= 100 ? self.progressTemplate : self.progressCompleteTemplate,\n template =\n pct < 100\n ? self.progressTemplate\n : error\n ? self.paused\n ? self.progressPauseTemplate\n : self.progressErrorTemplate\n : t;\n if (p >= 100) {\n stats = \"\";\n }\n if (!$h.isEmpty(template)) {\n if (pctLimit && pct > pctLimit && p <= 100) {\n out = template.setTokens({ percent: pctLimit, status: self.msgUploadThreshold });\n } else {\n out = template.setTokens({ percent: pct, status: p > 100 ? self.msgUploadEnd : pct + \"%\" });\n }\n stats = stats || \"\";\n out = out.setTokens({ stats: stats });\n $h.setHtml($el, out);\n if (error) {\n $h.setHtml($el.find('[role=\"progressbar\"]'), error);\n }\n }\n },\n _hasFiles: function () {\n var el = this.$element[0];\n return !!(el && el.files && el.files.length);\n },\n _setFileDropZoneTitle: function () {\n var self = this,\n $zone = self.$container.find(\".file-drop-zone\"),\n title = self.dropZoneTitle,\n strFiles;\n if (self.isClickable) {\n strFiles = $h.isEmpty(self.$element.attr(\"multiple\")) ? self.fileSingle : self.filePlural;\n title += self.dropZoneClickTitle.replace(\"{files}\", strFiles);\n }\n $zone.find(\".\" + self.dropZoneTitleClass).remove();\n if (\n !self.showPreview ||\n $zone.length === 0 ||\n self.fileManager.count() > 0 ||\n !self.dropZoneEnabled ||\n self.previewCache.count() > 0 ||\n (!self.isAjaxUpload && self._hasFiles())\n ) {\n return;\n }\n if ($zone.find($h.FRAMES).length === 0 && $h.isEmpty(self.defaultPreviewContent)) {\n $zone.prepend($h.cspBuffer.stash('
    ' + title + \"
    \"));\n $h.cspBuffer.apply($zone);\n }\n self.$container.removeClass(\"file-input-new\");\n if (self.isAjaxUpload) {\n $h.addCss(self.$container, \"file-input-ajax-new\");\n }\n },\n _getStats: function (stats) {\n var self = this,\n pendingTime,\n t;\n if (!self.showUploadStats || !stats || !stats.bitrate) {\n return \"\";\n }\n t = self._getLayoutTemplate(\"stats\");\n pendingTime =\n !stats.elapsed || !stats.bps\n ? self.msgCalculatingTime\n : self.msgPendingTime.setTokens({ time: $h.getElapsed(Math.ceil(stats.pendingBytes / stats.bps)) });\n\n return t.setTokens({\n uploadSpeed: stats.bitrate,\n pendingTime: pendingTime,\n });\n },\n _setResumableProgress: function (pct, stats, $thumb) {\n var self = this,\n rm = self.resumableManager,\n obj = $thumb ? rm : self,\n $prog = $thumb ? $thumb.find(\".file-thumb-progress\") : null;\n if (obj.lastProgress === 0) {\n obj.lastProgress = pct;\n }\n if (pct < obj.lastProgress) {\n pct = obj.lastProgress;\n }\n self._setProgress(pct, $prog, null, self._getStats(stats));\n obj.lastProgress = pct;\n },\n _toggleResumableProgress: function (template, message) {\n var self = this,\n $progress = self.$progress;\n if ($progress && $progress.length) {\n $h.setHtml(\n $progress,\n template.setTokens({\n percent: 101,\n status: message,\n stats: \"\",\n })\n );\n }\n },\n _setFileUploadStats: function (id, pct, stats) {\n var self = this,\n $prog = self.$progress;\n if (!self.showPreview && (!$prog || !$prog.length)) {\n return;\n }\n var fm = self.fileManager,\n rm = self.resumableManager,\n $thumb = fm.getThumb(id),\n pctTot,\n totUpSize = 0,\n totSize = fm.getTotalSize(),\n totStats = $.extend(true, {}, stats);\n if (self.enableResumableUpload) {\n var loaded = stats.loaded,\n currUplSize = rm.getUploadedSize(),\n currTotSize = rm.file.size,\n totLoaded;\n loaded += currUplSize;\n totLoaded = fm.uploadedSize + loaded;\n pct = $h.round((100 * loaded) / currTotSize);\n stats.pendingBytes = currTotSize - currUplSize;\n self._setResumableProgress(pct, stats, $thumb);\n pctTot = Math.floor((100 * totLoaded) / totSize);\n totStats.pendingBytes = totSize - totLoaded;\n self._setResumableProgress(pctTot, totStats);\n } else {\n fm.setProgress(id, pct);\n $prog = $thumb && $thumb.length ? $thumb.find(\".file-thumb-progress\") : null;\n self._setProgress(pct, $prog, null, self._getStats(stats));\n $.each(fm.stats, function (id, cfg) {\n totUpSize += cfg.loaded;\n });\n totStats.pendingBytes = totSize - totUpSize;\n pctTot = $h.round((totUpSize / totSize) * 100);\n self._setProgress(pctTot, null, null, self._getStats(totStats));\n }\n },\n _validateMinCount: function () {\n var self = this,\n len = self.isAjaxUpload ? self.fileManager.count() : self._inputFileCount();\n if (self.validateInitialCount && self.minFileCount > 0 && self._getFileCount(len - 1) < self.minFileCount) {\n self._noFilesError({});\n return false;\n }\n return true;\n },\n _getFileCount: function (fileCount, includeInitial) {\n var self = this,\n addCount = 0;\n if (includeInitial === undefined) {\n includeInitial = self.validateInitialCount && !self.overwriteInitial;\n }\n if (includeInitial) {\n addCount = self.previewCache.count(true);\n fileCount += addCount;\n }\n return fileCount;\n },\n _getFileId: function (file) {\n return $h.getFileId(file, this.generateFileId);\n },\n _getFileName: function (file, defaultValue) {\n var self = this,\n fileName = $h.getFileName(file);\n return fileName ? self.slug(fileName) : defaultValue;\n },\n _getFileNames: function (skipNull) {\n var self = this;\n return self.filenames.filter(function (n) {\n return skipNull ? n !== undefined : n !== undefined && n !== null;\n });\n },\n _setPreviewError: function ($thumb, keepFile) {\n var self = this,\n removeFrame = self.removeFromPreviewOnError && !self.retryErrorUploads;\n if (!keepFile || removeFrame) {\n self.fileManager.remove($thumb);\n }\n if (!self.showPreview) {\n return;\n }\n if (removeFrame) {\n $thumb.remove();\n return;\n } else {\n self._setThumbStatus($thumb, \"Error\");\n }\n self._refreshUploadButton($thumb);\n },\n _refreshUploadButton: function ($thumb) {\n var self = this,\n $btn = $thumb.find(\".kv-file-upload\"),\n cfg = self.fileActionSettings,\n icon = cfg.uploadIcon,\n title = cfg.uploadTitle;\n if (!$btn.length) {\n return;\n }\n if (self.retryErrorUploads) {\n icon = cfg.uploadRetryIcon;\n title = cfg.uploadRetryTitle;\n }\n $btn.attr(\"title\", title);\n $h.setHtml($btn, icon);\n },\n _isValidSize: function (size, type, $image, $thumb, filename, params) {\n var self = this,\n msg,\n dim,\n $img,\n tag = size === \"Small\" ? \"min\" : \"max\",\n limit = self[tag + \"Image\" + type];\n if ($h.isEmpty(limit) || !$image.length) {\n return true;\n }\n $img = $image[0];\n dim = type === \"Width\" ? $img.naturalWidth || $img.width : $img.naturalHeight || $img.height;\n if (size === \"Small\" ? dim >= limit : dim <= limit) {\n return true;\n }\n msg = self[\"msgImage\" + type + size] || 'Image \"{name}\" has a size validation error (limit \"{size}\").';\n self._showFileError(msg.setTokens({ name: filename, size: limit, dimension: dim }), params);\n self._setPreviewError($thumb);\n self.fileManager.remove($thumb);\n self._clearFileInput();\n return false;\n },\n _getExifObj: function (data) {\n var self = this,\n exifObj,\n error = $h.logMessages.exifWarning;\n if (data.slice(0, 23) !== \"data:image/jpeg;base64,\" && data.slice(0, 22) !== \"data:image/jpg;base64,\") {\n exifObj = null;\n return;\n }\n try {\n exifObj = window.piexif ? window.piexif.load(data) : null;\n } catch (err) {\n exifObj = null;\n error = (err && err.message) || \"\";\n }\n if (!exifObj && self.showExifErrorLog) {\n self._log($h.logMessages.badExifParser, { details: error });\n }\n return exifObj;\n },\n setImageOrientation: function ($img, $zoomImg, value, $thumb) {\n var self = this,\n invalidImg = !$img || !$img.length,\n invalidZoomImg = !$zoomImg || !$zoomImg.length,\n $mark,\n isHidden = false,\n $div,\n zoomOnly = invalidImg && $thumb && $thumb.attr(\"data-template\") === \"image\",\n ev;\n if (invalidImg && invalidZoomImg) {\n return;\n }\n ev = \"load.fileinputimageorient\";\n if (zoomOnly) {\n $img = $zoomImg;\n $zoomImg = null;\n $img.css(self.previewSettings.image);\n $div = $h.createDiv().appendTo($thumb.find(\".kv-file-content\"));\n $mark = $(document.createElement(\"span\")).insertBefore($img);\n $img.css(\"visibility\", \"hidden\").removeClass(\"file-zoom-detail\").appendTo($div);\n } else {\n isHidden = !$img.is(\":visible\");\n }\n $img.off(ev).on(ev, function () {\n if (isHidden) {\n self.$preview.removeClass(\"hide-content\");\n $thumb.find(\".kv-file-content\").css(\"visibility\", \"hidden\");\n }\n var img = $img[0],\n zoomImg = $zoomImg && $zoomImg.length ? $zoomImg[0] : null,\n h = img.offsetHeight,\n w = img.offsetWidth,\n r = $h.getRotation(value);\n if (isHidden) {\n $thumb.find(\".kv-file-content\").css(\"visibility\", \"visible\");\n self.$preview.addClass(\"hide-content\");\n }\n $img.data(\"orientation\", value);\n if (zoomImg) {\n $zoomImg.data(\"orientation\", value);\n }\n if (value < 5) {\n $h.setTransform(img, r);\n $h.setTransform(zoomImg, r);\n return;\n }\n var offsetAngle = Math.atan(w / h),\n origFactor = Math.sqrt(Math.pow(h, 2) + Math.pow(w, 2)),\n scale = !origFactor ? 1 : h / Math.cos(Math.PI / 2 + offsetAngle) / origFactor,\n s = \" scale(\" + Math.abs(scale) + \")\";\n $h.setTransform(img, r + s);\n $h.setTransform(zoomImg, r + s);\n if (zoomOnly) {\n $img.css(\"visibility\", \"visible\").insertAfter($mark).addClass(\"file-zoom-detail\");\n $mark.remove();\n $div.remove();\n }\n });\n },\n _validateImageOrientation: function ($img, file, previewId, fileId, caption, ftype, fsize, iData) {\n var self = this,\n exifObj = null,\n value,\n autoOrientImage = self.autoOrientImage,\n selector;\n exifObj = self._getExifObj(iData);\n if (self.canOrientImage) {\n $img.css(\"image-orientation\", autoOrientImage ? \"from-image\" : \"none\");\n self._validateImage(previewId, fileId, caption, ftype, fsize, iData, exifObj);\n return;\n }\n selector = $h.getZoomSelector(previewId, \" img\");\n value = exifObj ? exifObj[\"0th\"][piexif.ImageIFD.Orientation] : null; // jshint ignore:line\n if (!value) {\n self._validateImage(previewId, fileId, caption, ftype, fsize, iData, exifObj);\n return;\n }\n self.setImageOrientation($img, $(selector), value, self._getFrame(previewId));\n self._raise(\"fileimageoriented\", { $img: $img, file: file });\n self._validateImage(previewId, fileId, caption, ftype, fsize, iData, exifObj);\n },\n _validateImage: function (previewId, fileId, fname, ftype, fsize, iData, exifObj) {\n var self = this,\n $preview = self.$preview,\n params,\n w1,\n w2,\n $thumb = self._getFrame(previewId),\n i = $thumb.attr(\"data-fileindex\"),\n $img = $thumb.find(\"img\");\n fname = fname || \"Untitled\";\n $img\n .one(\"load\", function () {\n if ($img.data(\"validated\")) {\n return;\n }\n $img.data(\"validated\", true);\n w1 = $thumb.width();\n w2 = $preview.width();\n if (w1 > w2) {\n $img.css(\"width\", \"100%\");\n }\n params = { ind: i, id: previewId, fileId: fileId };\n setTimeout(function () {\n var isValidWidth, isValidHeight;\n isValidWidth = self._isValidSize(\"Small\", \"Width\", $img, $thumb, fname, params);\n isValidHeight = self._isValidSize(\"Small\", \"Height\", $img, $thumb, fname, params);\n if (!self.resizeImage) {\n isValidWidth = isValidWidth && self._isValidSize(\"Large\", \"Width\", $img, $thumb, fname, params);\n isValidHeight = isValidHeight && self._isValidSize(\"Large\", \"Height\", $img, $thumb, fname, params);\n }\n self._raise(\"fileimageloaded\", [previewId]);\n $thumb.data(\"exif\", exifObj);\n if (isValidWidth && isValidHeight) {\n self.fileManager.addImage(fileId, {\n ind: i,\n img: $img,\n thumb: $thumb,\n pid: previewId,\n typ: ftype,\n siz: fsize,\n validated: false,\n imgData: iData,\n exifObj: exifObj,\n });\n self._validateAllImages();\n }\n }, self.processDelay);\n })\n .one(\"error\", function () {\n self._raise(\"fileimageloaderror\", [previewId]);\n });\n },\n _validateAllImages: function () {\n var self = this,\n counter = { val: 0 },\n numImgs = self.fileManager.getImageCount(),\n fsize,\n minSize = self.resizeIfSizeMoreThan;\n if (numImgs !== self.fileManager.totalImages) {\n return;\n }\n self._raise(\"fileimagesloaded\");\n if (!self.resizeImage) {\n return;\n }\n $.each(self.fileManager.loadedImages, function (id, config) {\n if (!config.validated) {\n fsize = config.siz;\n if (fsize && fsize > minSize * self.bytesToKB) {\n self._getResizedImage(id, config, counter, numImgs);\n }\n config.validated = true;\n }\n });\n },\n _getResizedImage: function (id, config, counter, numImgs) {\n var self = this,\n img = $(config.img)[0],\n width = img.naturalWidth,\n height = img.naturalHeight,\n blob,\n ratio = 1,\n maxWidth = self.maxImageWidth || width,\n maxHeight = self.maxImageHeight || height,\n isValidImage = !!(width && height),\n chkWidth,\n chkHeight,\n canvas = self.imageCanvas,\n dataURI,\n context = self.imageCanvasContext,\n type = config.typ,\n pid = config.pid,\n ind = config.ind,\n $thumb = config.thumb,\n throwError,\n msg,\n exifObj = config.exifObj,\n exifStr,\n file,\n params,\n evParams;\n throwError = function (msg, params, ev) {\n if (self.isAjaxUpload) {\n self._showFileError(msg, params, ev);\n } else {\n self._showError(msg, params, ev);\n }\n self._setPreviewError($thumb);\n };\n file = self.fileManager.getFile(id);\n params = { id: pid, index: ind, fileId: id };\n evParams = [id, pid, ind];\n if (!file || !isValidImage || (width <= maxWidth && height <= maxHeight)) {\n if (isValidImage && file) {\n self._raise(\"fileimageresized\", evParams);\n }\n counter.val++;\n if (counter.val === numImgs) {\n self._raise(\"fileimagesresized\");\n }\n if (!isValidImage) {\n throwError(self.msgImageResizeError, params, \"fileimageresizeerror\");\n return;\n }\n }\n type = type || self.resizeDefaultImageType;\n chkWidth = width > maxWidth;\n chkHeight = height > maxHeight;\n if (self.resizePreference === \"width\") {\n ratio = chkWidth ? maxWidth / width : chkHeight ? maxHeight / height : 1;\n } else {\n ratio = chkHeight ? maxHeight / height : chkWidth ? maxWidth / width : 1;\n }\n self._resetCanvas();\n width *= ratio;\n height *= ratio;\n canvas.width = width;\n canvas.height = height;\n try {\n context.drawImage(img, 0, 0, width, height);\n dataURI = canvas.toDataURL(type, self.resizeQuality);\n if (exifObj) {\n exifStr = window.piexif.dump(exifObj);\n dataURI = window.piexif.insert(exifStr, dataURI);\n }\n blob = $h.dataURI2Blob(dataURI);\n self.fileManager.setFile(id, blob);\n self._raise(\"fileimageresized\", evParams);\n counter.val++;\n if (counter.val === numImgs) {\n self._raise(\"fileimagesresized\", [undefined, undefined]);\n }\n if (!(blob instanceof Blob)) {\n throwError(self.msgImageResizeError, params, \"fileimageresizeerror\");\n }\n } catch (err) {\n counter.val++;\n if (counter.val === numImgs) {\n self._raise(\"fileimagesresized\", [undefined, undefined]);\n }\n msg = self.msgImageResizeException.replace(\"{errors}\", err.message);\n throwError(msg, params, \"fileimageresizeexception\");\n }\n },\n _showProgress: function () {\n var self = this;\n if (self.$progress && self.$progress.length) {\n self.$progress.show();\n }\n },\n _hideProgress: function () {\n var self = this;\n if (self.$progress && self.$progress.length) {\n self.$progress.hide();\n }\n },\n _initBrowse: function ($container) {\n var self = this,\n $el = self.$element;\n if (self.showBrowse) {\n self.$btnFile = $container.find(\".btn-file\").append($el);\n } else {\n $el.appendTo($container).attr(\"tabindex\", -1);\n $h.addCss($el, \"file-no-browse\");\n }\n },\n _initClickable: function () {\n var self = this,\n $zone,\n $tmpZone;\n if (!self.isClickable) {\n return;\n }\n $zone = self.$dropZone;\n if (!self.isAjaxUpload) {\n $tmpZone = self.$preview.find(\".file-default-preview\");\n if ($tmpZone.length) {\n $zone = $tmpZone;\n }\n }\n\n $h.addCss($zone, \"clickable\");\n $zone.attr(\"tabindex\", -1);\n self._handler($zone, \"click\", function (e) {\n var $tar = $(e.target);\n if (\n !self.$errorContainer.is(\":visible\") &&\n (!$tar.parents(\".file-preview-thumbnails\").length || $tar.parents(\".file-default-preview\").length)\n ) {\n self.$element.data(\"zoneClicked\", true).trigger(\"click\");\n $zone.blur();\n }\n });\n },\n _initCaption: function () {\n var self = this,\n cap = self.initialCaption || \"\";\n if (self.overwriteInitial || $h.isEmpty(cap)) {\n self.$caption.val(\"\");\n return false;\n }\n self._setCaption(cap);\n return true;\n },\n _setCaption: function (content, isError) {\n var self = this,\n title,\n out,\n icon,\n n,\n cap,\n file;\n if (!self.$caption.length) {\n return;\n }\n self.$captionContainer.removeClass(\"icon-visible\");\n if (isError) {\n title = $(\"
    \" + self.msgValidationError + \"
    \").text();\n n = self.fileManager.count();\n if (n) {\n file = self.fileManager.getFirstFile();\n cap = n === 1 && file ? file.nameFmt : self._getMsgSelected(n);\n } else {\n cap = self._getMsgSelected(self.msgNo);\n }\n out = $h.isEmpty(content) ? cap : content;\n icon = '' + self.msgValidationErrorIcon + \"\";\n } else {\n if ($h.isEmpty(content)) {\n self.$caption.attr(\"title\", \"\");\n return;\n }\n title = $(\"
    \" + content + \"
    \").text();\n out = title;\n icon = self._getLayoutTemplate(\"fileIcon\");\n }\n self.$captionContainer.addClass(\"icon-visible\");\n self.$caption.attr(\"title\", title).val(out);\n $h.setHtml(self.$captionIcon, icon);\n },\n _createContainer: function () {\n var self = this,\n attribs = { class: \"file-input file-input-new\" + (self.rtl ? \" kv-rtl\" : \"\") },\n $container = $h.createElement($h.cspBuffer.stash(self._renderMain()));\n $h.cspBuffer.apply($container);\n $container.insertBefore(self.$element).attr(attribs);\n self._initBrowse($container);\n if (self.theme) {\n $container.addClass(\"theme-\" + self.theme);\n }\n return $container;\n },\n _refreshContainer: function () {\n var self = this,\n $container = self.$container,\n $el = self.$element;\n $el.insertAfter($container);\n $h.setHtml($container, self._renderMain());\n self._initBrowse($container);\n self._validateDisabled();\n },\n _validateDisabled: function () {\n var self = this;\n self.$caption.attr({ readonly: self.isDisabled });\n },\n _setTabIndex: function (type, html) {\n var self = this,\n index = self.tabIndexConfig[type];\n return html.setTokens({\n tabIndexConfig: index === undefined || index === null ? \"\" : 'tabindex=\"' + index + '\"',\n });\n },\n _renderMain: function () {\n var self = this,\n dropCss = self.dropZoneEnabled ? \" file-drop-zone\" : \"file-drop-disabled\",\n close = !self.showClose ? \"\" : self._getLayoutTemplate(\"close\"),\n preview = !self.showPreview\n ? \"\"\n : self._getLayoutTemplate(\"preview\").setTokens({ class: self.previewClass, dropClass: dropCss }),\n css = self.isDisabled ? self.captionClass + \" file-caption-disabled\" : self.captionClass,\n caption = self.captionTemplate.setTokens({ class: css + \" kv-fileinput-caption\" });\n caption = self._setTabIndex(\"caption\", caption);\n return self.mainTemplate.setTokens({\n class: self.mainClass + (!self.showBrowse && self.showCaption ? \" no-browse\" : \"\"),\n inputGroupClass: self.inputGroupClass,\n preview: preview,\n close: close,\n caption: caption,\n upload: self._renderButton(\"upload\"),\n remove: self._renderButton(\"remove\"),\n cancel: self._renderButton(\"cancel\"),\n pause: self._renderButton(\"pause\"),\n browse: self._renderButton(\"browse\"),\n });\n },\n _renderButton: function (type) {\n var self = this,\n tmplt = self._getLayoutTemplate(\"btnDefault\"),\n css = self[type + \"Class\"],\n title = self[type + \"Title\"],\n icon = self[type + \"Icon\"],\n label = self[type + \"Label\"],\n status = self.isDisabled ? \" disabled\" : \"\",\n btnType = \"button\";\n switch (type) {\n case \"remove\":\n if (!self.showRemove) {\n return \"\";\n }\n break;\n case \"cancel\":\n if (!self.showCancel) {\n return \"\";\n }\n css += \" kv-hidden\";\n break;\n case \"pause\":\n if (!self.showPause) {\n return \"\";\n }\n css += \" kv-hidden\";\n break;\n case \"upload\":\n if (!self.showUpload) {\n return \"\";\n }\n if (self.isAjaxUpload && !self.isDisabled) {\n tmplt = self._getLayoutTemplate(\"btnLink\").replace(\"{href}\", self.uploadUrl);\n } else {\n btnType = \"submit\";\n }\n break;\n case \"browse\":\n if (!self.showBrowse) {\n return \"\";\n }\n tmplt = self._getLayoutTemplate(\"btnBrowse\");\n break;\n default:\n return \"\";\n }\n tmplt = self._setTabIndex(type, tmplt);\n\n css += type === \"browse\" ? \" btn-file\" : \" fileinput-\" + type + \" fileinput-\" + type + \"-button\";\n if (!$h.isEmpty(label)) {\n label = ' ' + label + \"\";\n }\n return tmplt.setTokens({\n type: btnType,\n css: css,\n title: title,\n status: status,\n icon: icon,\n label: label,\n });\n },\n _renderThumbProgress: function () {\n var self = this;\n return (\n '
    ' +\n self.progressInfoTemplate.setTokens({ percent: 101, status: self.msgUploadBegin, stats: \"\" }) +\n \"
    \"\n );\n },\n _renderFileFooter: function (cat, caption, size, width, isError) {\n var self = this,\n config = self.fileActionSettings,\n rem = config.showRemove,\n drg = config.showDrag,\n upl = config.showUpload,\n rot = config.showRotate,\n zoom = config.showZoom,\n out,\n params,\n template = self._getLayoutTemplate(\"footer\"),\n tInd = self._getLayoutTemplate(\"indicator\"),\n ind = isError ? config.indicatorError : config.indicatorNew,\n title = isError ? config.indicatorErrorTitle : config.indicatorNewTitle,\n indicator = tInd.setTokens({ indicator: ind, indicatorTitle: title });\n size = self._getSize(size);\n params = { type: cat, caption: caption, size: size, width: width, progress: \"\", indicator: indicator };\n if (self.isAjaxUpload) {\n params.progress = self._renderThumbProgress();\n params.actions = self._renderFileActions(params, upl, false, rem, rot, zoom, drg, false, false, false);\n } else {\n params.actions = self._renderFileActions(params, false, false, false, false, zoom, drg, false, false, false);\n }\n out = template.setTokens(params);\n out = $h.replaceTags(out, self.previewThumbTags);\n return out;\n },\n _renderFileActions: function (\n cfg,\n showUpl,\n showDwn,\n showDel,\n showRot,\n showZoom,\n showDrag,\n disabled,\n url,\n key,\n isInit,\n dUrl,\n dFile\n ) {\n var self = this;\n if (!cfg.type && isInit) {\n cfg.type = \"image\";\n }\n if (self.enableResumableUpload) {\n showUpl = false;\n } else {\n if (typeof showUpl === \"function\") {\n showUpl = showUpl(cfg);\n }\n }\n if (typeof showDwn === \"function\") {\n showDwn = showDwn(cfg);\n }\n if (typeof showDel === \"function\") {\n showDel = showDel(cfg);\n }\n if (typeof showZoom === \"function\") {\n showZoom = showZoom(cfg);\n }\n if (typeof showDrag === \"function\") {\n showDrag = showDrag(cfg);\n }\n if (typeof showRot === \"function\") {\n showRot = showRot(cfg);\n }\n if (!showUpl && !showDwn && !showDel && !showRot && !showZoom && !showDrag) {\n return \"\";\n }\n var vUrl = url === false ? \"\" : ' data-url=\"' + url + '\"',\n btnZoom = \"\",\n btnDrag = \"\",\n btnRotate = \"\",\n css,\n vKey = key === false ? \"\" : ' data-key=\"' + key + '\"',\n btnDelete = \"\",\n btnUpload = \"\",\n btnDownload = \"\",\n template = self._getLayoutTemplate(\"actions\"),\n config = self.fileActionSettings,\n otherButtons = self.otherActionButtons.setTokens({ dataKey: vKey, key: key }),\n removeClass = disabled ? config.removeClass + \" disabled\" : config.removeClass;\n if (showDel) {\n btnDelete = self._getLayoutTemplate(\"actionDelete\").setTokens({\n removeClass: removeClass,\n removeIcon: config.removeIcon,\n removeTitle: config.removeTitle,\n dataUrl: vUrl,\n dataKey: vKey,\n key: key,\n });\n }\n if (showRot) {\n btnRotate = self._getLayoutTemplate(\"actionRotate\").setTokens({\n rotateClass: config.rotateClass,\n rotateIcon: config.rotateIcon,\n rotateTitle: config.rotateTitle,\n });\n }\n if (showUpl) {\n btnUpload = self._getLayoutTemplate(\"actionUpload\").setTokens({\n uploadClass: config.uploadClass,\n uploadIcon: config.uploadIcon,\n uploadTitle: config.uploadTitle,\n });\n }\n if (showDwn) {\n btnDownload = self._getLayoutTemplate(\"actionDownload\").setTokens({\n downloadClass: config.downloadClass,\n downloadIcon: config.downloadIcon,\n downloadTitle: config.downloadTitle,\n downloadUrl: dUrl || self.initialPreviewDownloadUrl,\n });\n btnDownload = btnDownload.setTokens({ filename: dFile, key: key });\n }\n if (showZoom) {\n btnZoom = self._getLayoutTemplate(\"actionZoom\").setTokens({\n zoomClass: config.zoomClass,\n zoomIcon: config.zoomIcon,\n zoomTitle: config.zoomTitle,\n });\n }\n if (showDrag && isInit) {\n css = \"drag-handle-init \" + config.dragClass;\n btnDrag = self._getLayoutTemplate(\"actionDrag\").setTokens({\n dragClass: css,\n dragTitle: config.dragTitle,\n dragIcon: config.dragIcon,\n });\n }\n return template.setTokens({\n delete: btnDelete,\n upload: btnUpload,\n download: btnDownload,\n rotate: btnRotate,\n zoom: btnZoom,\n drag: btnDrag,\n other: otherButtons,\n });\n },\n _browse: function (e) {\n var self = this;\n if ((e && e.isDefaultPrevented()) || !self._raise(\"filebrowse\")) {\n return;\n }\n if (self.isError && !self.isAjaxUpload) {\n self.clear();\n }\n if (self.focusCaptionOnBrowse) {\n self.$captionContainer.focus();\n }\n },\n _change: function (e) {\n var self = this;\n $(document.body).off(\"focusin.fileinput focusout.fileinput\");\n if (self.changeTriggered) {\n self._toggleLoading(\"hide\");\n return;\n }\n self._toggleLoading(\"show\");\n var $el = self.$element,\n isDragDrop = arguments.length > 1,\n isAjaxUpload = self.isAjaxUpload,\n tfiles,\n files = isDragDrop ? arguments[1] : $el[0].files,\n ctr = self.fileManager.count(),\n total,\n initCount,\n len,\n isSingleUpl = $h.isEmpty($el.attr(\"multiple\")),\n maxCount = !isAjaxUpload && isSingleUpl ? 1 : self.maxFileCount,\n maxTotCount = self.maxTotalFileCount,\n inclAll = maxTotCount > 0 && maxTotCount > maxCount,\n flagSingle = isSingleUpl && ctr > 0,\n throwError = function (mesg, file, previewId, index) {\n var p1 = $.extend(true, {}, self._getOutData(null, {}, {}, files), { id: previewId, index: index }),\n p2 = { id: previewId, index: index, file: file, files: files };\n self.isPersistentError = true;\n self._toggleLoading(\"hide\");\n return isAjaxUpload ? self._showFileError(mesg, p1) : self._showError(mesg, p2);\n },\n maxCountCheck = function (n, m, all) {\n var msg = all ? self.msgTotalFilesTooMany : self.msgFilesTooMany;\n msg = msg.replace(\"{m}\", m).replace(\"{n}\", n);\n self.isError = throwError(msg, null, null, null);\n self.$captionContainer.removeClass(\"icon-visible\");\n self._setCaption(\"\", true);\n self.$container.removeClass(\"file-input-new file-input-ajax-new\");\n };\n self.reader = null;\n self._resetUpload();\n self._hideFileIcon();\n if (self.dropZoneEnabled) {\n self.$container.find(\".file-drop-zone .\" + self.dropZoneTitleClass).remove();\n }\n if (!isAjaxUpload) {\n if (e.target && e.target.files === undefined) {\n files = e.target.value ? [{ name: e.target.value.replace(/^.+\\\\/, \"\") }] : [];\n } else {\n files = e.target.files || {};\n }\n }\n tfiles = files;\n if ($h.isEmpty(tfiles) || tfiles.length === 0) {\n if (!isAjaxUpload) {\n self.clear();\n }\n self._raise(\"fileselectnone\");\n return;\n }\n self._resetErrors();\n len = tfiles.length;\n initCount = isAjaxUpload ? self.fileManager.count() + len : len;\n total = self._getFileCount(initCount, inclAll ? false : undefined);\n if (maxCount > 0 && total > maxCount) {\n if (!self.autoReplace || len > maxCount) {\n maxCountCheck(self.autoReplace && len > maxCount ? len : total, maxCount);\n return;\n }\n if (total > maxCount) {\n self._resetPreviewThumbs(isAjaxUpload);\n }\n } else {\n if (inclAll) {\n total = self._getFileCount(initCount, true);\n if (maxTotCount > 0 && total > maxTotCount) {\n if (!self.autoReplace || len > maxCount) {\n maxCountCheck(self.autoReplace && len > maxTotCount ? len : total, maxTotCount, true);\n return;\n }\n if (total > maxCount) {\n self._resetPreviewThumbs(isAjaxUpload);\n }\n }\n }\n if (!isAjaxUpload || flagSingle) {\n self._resetPreviewThumbs(false);\n if (flagSingle) {\n self.clearFileStack();\n }\n } else {\n if (isAjaxUpload && ctr === 0 && (!self.previewCache.count(true) || self.overwriteInitial)) {\n self._resetPreviewThumbs(true);\n }\n }\n }\n if (self.autoReplace) {\n self._getThumbs().each(function () {\n var $thumb = $(this);\n if ($thumb.hasClass(\"file-preview-success\") || $thumb.hasClass(\"file-preview-error\")) {\n $thumb.remove();\n }\n });\n }\n self.readFiles(tfiles);\n self._toggleLoading(\"hide\");\n },\n _abort: function (params) {\n var self = this,\n data;\n if (self.ajaxAborted && typeof self.ajaxAborted === \"object\" && self.ajaxAborted.message !== undefined) {\n data = $.extend(true, {}, self._getOutData(null), params);\n data.abortData = self.ajaxAborted.data || {};\n data.abortMessage = self.ajaxAborted.message;\n self._setProgress(101, self.$progress, self.msgCancelled);\n self._showFileError(self.ajaxAborted.message, data, \"filecustomerror\");\n self.cancel();\n self.unlock();\n return true;\n }\n return !!self.ajaxAborted;\n },\n _resetFileStack: function () {\n var self = this,\n i = 0;\n self._getThumbs().each(function () {\n var $thumb = $(this),\n ind = $thumb.attr(\"data-fileindex\"),\n pid = $thumb.attr(\"id\");\n if (ind === \"-1\" || ind === -1) {\n return;\n }\n if (!self._getThumbFile($thumb)) {\n $thumb.attr({ \"data-fileindex\": i });\n i++;\n } else {\n $thumb.attr({ \"data-fileindex\": \"-1\" });\n }\n self._getZoom(pid).attr({\n \"data-fileindex\": $thumb.attr(\"data-fileindex\"),\n });\n });\n },\n _isFileSelectionValid: function (cnt) {\n var self = this;\n cnt = cnt || 0;\n if (self.required && !self.getFilesCount()) {\n self.$errorContainer.html(\"\");\n self._showFileError(self.msgFileRequired);\n return false;\n }\n if (self.minFileCount > 0 && self._getFileCount(cnt) < self.minFileCount) {\n self._noFilesError({});\n return false;\n }\n return true;\n },\n _canPreview: function (file) {\n var self = this;\n if (!file || !self.showPreview || !self.$preview || !self.$preview.length) {\n return false;\n }\n var name = file.name || \"\",\n type = file.type || \"\",\n size = (file.size || 0) / self.bytesToKB,\n cat = self._parseFileType(type, name),\n allowedTypes,\n allowedMimes,\n allowedExts,\n skipPreview,\n types = self.allowedPreviewTypes,\n mimes = self.allowedPreviewMimeTypes,\n exts = self.allowedPreviewExtensions || [],\n dTypes = self.disabledPreviewTypes,\n dMimes = self.disabledPreviewMimeTypes,\n dExts = self.disabledPreviewExtensions || [],\n maxSize = (self.maxFilePreviewSize && parseFloat(self.maxFilePreviewSize)) || 0,\n expAllExt = new RegExp(\"\\\\.(\" + exts.join(\"|\") + \")$\", \"i\"),\n expDisExt = new RegExp(\"\\\\.(\" + dExts.join(\"|\") + \")$\", \"i\");\n allowedTypes = !types || types.indexOf(cat) !== -1;\n allowedMimes = !mimes || mimes.indexOf(type) !== -1;\n allowedExts = !exts.length || $h.compare(name, expAllExt);\n skipPreview =\n (dTypes && dTypes.indexOf(cat) !== -1) ||\n (dMimes && dMimes.indexOf(type) !== -1) ||\n (dExts.length && $h.compare(name, expDisExt)) ||\n (maxSize && !isNaN(maxSize) && size > maxSize);\n return !skipPreview && (allowedTypes || allowedMimes || allowedExts);\n },\n addToStack: function (file, id) {\n var self = this;\n self.stackIsUpdating = true;\n self.fileManager.add(file, id);\n self._refreshPreview();\n self.stackIsUpdating = false;\n },\n clearFileStack: function () {\n var self = this;\n self.fileManager.clear();\n self._initResumableUpload();\n if (self.enableResumableUpload) {\n if (self.showPause === null) {\n self.showPause = true;\n }\n if (self.showCancel === null) {\n self.showCancel = false;\n }\n } else {\n self.showPause = false;\n if (self.showCancel === null) {\n self.showCancel = true;\n }\n }\n return self.$element;\n },\n getFileStack: function () {\n return this.fileManager.stack;\n },\n getFileList: function () {\n return this.fileManager.list();\n },\n getFilesSize: function () {\n return this.fileManager.getTotalSize();\n },\n getFilesCount: function (includeInitial) {\n var self = this,\n len = self.isAjaxUpload ? self.fileManager.count() : self._inputFileCount();\n if (includeInitial) {\n len += self.previewCache.count(true);\n }\n return self._getFileCount(len);\n },\n _initCapStatus: function (status) {\n var self = this,\n $cap = self.$caption;\n $cap.removeClass(\"is-valid file-processing\");\n if (!status) {\n return;\n }\n if (status === \"processing\") {\n $cap.addClass(\"file-processing\");\n } else {\n $cap.addClass(\"is-valid\");\n }\n },\n _toggleLoading: function (type) {\n var self = this;\n $h.setHtml(self.$previewStatus, type === \"hide\" ? \"\" : self.msgProcessing);\n self.$container.removeClass(\"file-thumb-loading\");\n self._initCapStatus(type === \"hide\" ? \"\" : \"processing\");\n if (type !== \"hide\") {\n if (self.dropZoneEnabled) {\n self.$container.find(\".file-drop-zone .\" + self.dropZoneTitleClass).remove();\n }\n self.$container.addClass(\"file-thumb-loading\");\n }\n },\n _initFileSelected: function () {\n var self = this,\n $el = self.$element,\n $body = $(document.body),\n ev = \"focusin.fileinput focusout.fileinput\";\n if ($body.length) {\n $body\n .off(ev)\n .on(\"focusout.fileinput\", function () {\n self._toggleLoading(\"show\");\n })\n .on(\"focusin.fileinput\", function () {\n setTimeout(function () {\n if (!$el.val()) {\n self._setFileDropZoneTitle();\n }\n $body.off(ev);\n self._toggleLoading(\"hide\");\n }, 2500);\n });\n } else {\n self._toggleLoading(\"hide\");\n }\n },\n readFiles: function (files) {\n this.reader = new FileReader();\n var self = this,\n reader = self.reader,\n $container = self.$previewContainer,\n $status = self.$previewStatus,\n msgLoading = self.msgLoading,\n msgProgress = self.msgProgress,\n previewInitId = self.previewInitId,\n numFiles = files.length,\n settings = self.fileTypeSettings,\n readFile,\n fileTypes = self.allowedFileTypes,\n typLen = fileTypes ? fileTypes.length : 0,\n fileExt = self.allowedFileExtensions,\n strExt = $h.isEmpty(fileExt) ? \"\" : fileExt.join(\", \"),\n throwError = function (msg, file, previewId, index, fileId) {\n var $thumb,\n p1 = $.extend(true, {}, self._getOutData(null, {}, {}, files), {\n id: previewId,\n index: index,\n fileId: fileId,\n }),\n p2 = { id: previewId, index: index, fileId: fileId, file: file, files: files };\n Object.values(files).forEach((x) => {\n self._previewDefault(x, true);\n });\n $thumb = self._getFrame(previewId, true);\n self._toggleLoading(\"hide\");\n if (self.isAjaxUpload) {\n setTimeout(function () {\n readFile(index + 1);\n }, self.processDelay);\n } else {\n self.unlock();\n numFiles = 0;\n }\n if (self.removeFromPreviewOnError && $thumb.length) {\n $thumb.remove();\n } else {\n self._initFileActions();\n $thumb.find(\".kv-file-upload\").remove();\n }\n self.isPersistentError = true;\n self.isError = self.isAjaxUpload ? self._showFileError(msg, p1) : self._showError(msg, p2);\n self._updateFileDetails(numFiles);\n };\n self.fileManager.clearImages();\n $.each(files, function (key, file) {\n var func = self.fileTypeSettings.image;\n if (func && func(file.type)) {\n self.fileManager.totalImages++;\n }\n });\n readFile = function (i) {\n var $error = self.$errorContainer,\n errors,\n fm = self.fileManager;\n if (i >= numFiles) {\n self.unlock();\n if (self.duplicateErrors.length) {\n errors = \"
  • \" + self.duplicateErrors.join(\"
  • \") + \"
  • \";\n if ($error.find(\"ul\").length === 0) {\n $h.setHtml($error, self.errorCloseButton + \"\");\n } else {\n $error.find(\"ul\").append($h.cspBuffer.stash(errors));\n $h.cspBuffer.apply($error);\n }\n $error.fadeIn(self.fadeDelay);\n self._handler($error.find(\".kv-error-close\"), \"click\", function () {\n $error.fadeOut(self.fadeDelay);\n });\n self.duplicateErrors = [];\n }\n if (self.isAjaxUpload) {\n self._raise(\"filebatchselected\", [fm.stack]);\n if (fm.count() === 0 && !self.isError) {\n self.reset();\n }\n } else {\n self._raise(\"filebatchselected\", [files]);\n }\n $container.removeClass(\"file-thumb-loading\");\n self._initCapStatus(\"valid\");\n $status.html(\"\");\n return;\n }\n self.lock(true);\n var file = files[i],\n id,\n previewId,\n fileProcessed,\n fSize = (file && file.size) || 0,\n sizeHuman = self._getSize(fSize, true),\n j,\n msg,\n fnImage = settings.image,\n chk,\n typ,\n typ1,\n typ2,\n caption,\n fileSize = fSize / self.bytesToKB,\n fileExtExpr = \"\",\n previewData,\n fileCount = 0,\n strTypes = \"\",\n fileId,\n canLoad,\n fileReaderAborted = false,\n func,\n knownTypes = 0,\n isImage,\n processFileLoaded,\n initFileData;\n initFileData = function (dataSource) {\n dataSource = dataSource || file;\n id = fileId = self._getFileId(file);\n previewId = previewInitId + \"-\" + id;\n previewData = $h.createObjectURL(dataSource);\n caption = self._getFileName(file, \"\");\n };\n processFileLoaded = function () {\n var isImageResized = !!fm.loadedImages[id],\n msg = msgProgress.setTokens({\n index: i + 1,\n files: numFiles,\n percent: 50,\n name: caption,\n });\n setTimeout(function () {\n $h.setHtml($status, msg);\n self._updateFileDetails(numFiles);\n if (self.getFilesCount(true) > 0 && self.getFrames(\":visible\")) {\n self.$dropZone.find(\".\" + self.dropZoneTitleClass).remove();\n }\n readFile(i + 1);\n }, self.processDelay);\n if (self._raise(\"fileloaded\", [file, previewId, id, i, reader]) && self.isAjaxUpload) {\n if (!isImageResized) {\n fm.add(file);\n }\n } else {\n if (isImageResized) {\n fm.removeFile(id);\n }\n }\n };\n if (!file) {\n return;\n }\n initFileData();\n\n if (typLen > 0) {\n for (j = 0; j < typLen; j++) {\n typ1 = fileTypes[j];\n typ2 = self.msgFileTypes[typ1] || typ1;\n strTypes += j === 0 ? typ2 : \", \" + typ2;\n }\n }\n if (caption === false) {\n readFile(i + 1);\n return;\n }\n if (caption.length === 0) {\n msg = self.msgInvalidFileName.replace(\"{name}\", $h.htmlEncode($h.getFileName(file), \"[unknown]\"));\n throwError(msg, file, previewId, i, fileId);\n return;\n }\n if (!$h.isEmpty(fileExt)) {\n fileExtExpr = new RegExp(\"\\\\.(\" + fileExt.join(\"|\") + \")$\", \"i\");\n }\n if ((self.isAjaxUpload && fm.exists(fileId)) || self._getFrame(previewId, true).length) {\n var p2 = { id: previewId, index: i, fileId: fileId, file: file, files: files };\n msg = self.msgDuplicateFile.setTokens({ name: caption, size: sizeHuman });\n if (self.isAjaxUpload) {\n if (!self.stackIsUpdating) {\n self.duplicateErrors.push(msg);\n self.isDuplicateError = true;\n self._raise(\"fileduplicateerror\", [file, fileId, caption, sizeHuman, previewId, i]);\n }\n readFile(i + 1);\n self._updateFileDetails(numFiles);\n } else {\n self._showError(msg, p2);\n self.unlock();\n numFiles = 0;\n self._clearFileInput();\n self.reset();\n self._updateFileDetails(numFiles);\n }\n return;\n }\n\n if (self.maxMultipleFileSize > 0 && files.length > 1) {\n var captionGroup = [];\n var fileSizeGroup = 0;\n Object.values(files).forEach((file) => {\n fileSizeGroup = fileSizeGroup + file.size / self.bytesToKB;\n captionGroup.push(file.name);\n });\n\n if (fileSizeGroup > self.maxMultipleFileSize) {\n msg = self.msgMultipleSizeTooLarge.setTokens({\n name: captionGroup,\n size: self._getSize(fileSizeGroup, true),\n maxSize: self._getSize(self.maxMultipleFileSize * self.bytesToKB, true),\n });\n\n throwError(msg, file, previewId, i, fileId);\n return;\n }\n } else if (self.maxFileSize > 0 && fileSize > self.maxFileSize) {\n msg = self.msgSizeTooLarge.setTokens({\n name: caption,\n size: sizeHuman,\n maxSize: self._getSize(self.maxFileSize * self.bytesToKB, true),\n });\n throwError(msg, file, previewId, i, fileId);\n return;\n }\n if (self.minFileSize !== null && fileSize <= $h.getNum(self.minFileSize)) {\n msg = self.msgSizeTooSmall.setTokens({\n name: caption,\n size: sizeHuman,\n minSize: self._getSize(self.minFileSize * self.bytesToKB, true),\n });\n throwError(msg, file, previewId, i, fileId);\n return;\n }\n if (!$h.isEmpty(fileTypes) && $h.isArray(fileTypes)) {\n for (j = 0; j < fileTypes.length; j += 1) {\n typ = fileTypes[j];\n func = settings[typ];\n fileCount += !func || typeof func !== \"function\" ? 0 : func(file.type, $h.getFileName(file)) ? 1 : 0;\n }\n if (fileCount === 0) {\n msg = self.msgInvalidFileType.setTokens({ name: caption, types: strTypes });\n throwError(msg, file, previewId, i, fileId);\n return;\n }\n }\n if (fileCount === 0 && !$h.isEmpty(fileExt) && $h.isArray(fileExt) && !$h.isEmpty(fileExtExpr)) {\n chk = $h.compare(caption, fileExtExpr);\n fileCount += $h.isEmpty(chk) ? 0 : chk.length;\n if (fileCount === 0) {\n msg = self.msgInvalidFileExtension.setTokens({ name: caption, extensions: strExt });\n throwError(msg, file, previewId, i, fileId);\n return;\n }\n }\n if (!self._canPreview(file)) {\n canLoad = self._raise(\"filebeforeload\", [file, i, reader]);\n if (self.isAjaxUpload && canLoad) {\n fm.add(file);\n }\n if (self.showPreview && canLoad) {\n $container.addClass(\"file-thumb-loading\");\n self._initCapStatus(\"processing\");\n self._previewDefault(file);\n self._initFileActions();\n }\n setTimeout(function () {\n if (canLoad) {\n self._updateFileDetails(numFiles);\n }\n readFile(i + 1);\n self._raise(\"fileloaded\", [file, previewId, id, i]);\n }, 10);\n return;\n }\n isImage = fnImage(file.type, caption);\n $h.setHtml($status, msgLoading.replace(\"{index}\", i + 1).replace(\"{files}\", numFiles));\n $container.addClass(\"file-thumb-loading\");\n self._initCapStatus(\"processing\");\n reader.onerror = function (evt) {\n self._errorHandler(evt, caption);\n };\n reader.onload = function (theFile) {\n var hex,\n fileInfo,\n fileData,\n byte,\n bytes = [],\n contents,\n mime,\n processPreview = function (fType, ext) {\n if ($h.isEmpty(fType)) {\n // look for ascii text content\n contents = $h.arrayBuffer2String(reader.result);\n fType = $h.isSvg(contents) ? \"image/svg+xml\" : $h.getMimeType(hex, contents, file.type);\n }\n fileInfo = { name: caption, type: fType || \"\" };\n if (ext && typeof File !== \"undefined\") {\n try {\n var fName = (fileInfo.filename = caption + \".\" + ext);\n fileProcessed = new File([file], fName, { type: fileInfo.type });\n initFileData(fileProcessed);\n } catch (err) {}\n }\n isImage = fnImage(fType, \"\");\n if (isImage) {\n var newReader = new FileReader();\n newReader.onerror = function (theFileNew) {\n self._errorHandler(theFileNew, caption);\n };\n newReader.onload = function (theFileNew) {\n if (self.isAjaxUpload && !self._raise(\"filebeforeload\", [file, i, reader])) {\n fileReaderAborted = true;\n self._resetCaption();\n reader.abort();\n $status.html(\"\");\n $container.removeClass(\"file-thumb-loading\");\n self._initCapStatus(\"valid\");\n self.enable();\n return;\n }\n self._previewFile(i, file, theFileNew, previewData, fileInfo);\n self._initFileActions();\n processFileLoaded();\n };\n newReader.readAsDataURL(file);\n return;\n }\n if (self.isAjaxUpload && !self._raise(\"filebeforeload\", [file, i, reader])) {\n fileReaderAborted = true;\n self._resetCaption();\n reader.abort();\n $status.html(\"\");\n $container.removeClass(\"file-thumb-loading\");\n self._initCapStatus(\"valid\");\n self.enable();\n return;\n }\n self._previewFile(i, file, theFile, previewData, fileInfo);\n self._initFileActions();\n processFileLoaded();\n };\n mime = file.type;\n fileInfo = { name: caption, type: mime };\n $.each(settings, function (k, f) {\n if (k !== \"object\" && k !== \"other\" && typeof f === \"function\" && f(mime, caption)) {\n knownTypes++;\n }\n });\n if (typeof FileTypeParser !== \"undefined\") {\n fileData = new Uint8Array(theFile.target.result);\n new FileTypeParser().parse(fileData).then(function (result) {\n processPreview((result && result.mime) || mime, (result && result.ext) || \"\");\n });\n } else {\n if (knownTypes === 0) {\n // auto detect mime types from content if no known file types detected\n fileData = new Uint8Array(theFile.target.result);\n for (j = 0; j < fileData.length; j++) {\n byte = fileData[j].toString(16);\n bytes.push(byte);\n }\n hex = bytes.join(\"\").toLowerCase().substring(0, 8);\n mime = $h.getMimeType(hex, \"\", \"\");\n }\n processPreview(mime);\n }\n };\n reader.onprogress = function (data) {\n if (data.lengthComputable) {\n var fact = (data.loaded / data.total) * 100,\n progress = Math.ceil(fact);\n msg = msgProgress.setTokens({\n index: i + 1,\n files: numFiles,\n percent: progress,\n name: caption,\n });\n setTimeout(function () {\n if (!fileReaderAborted) {\n $h.setHtml($status, msg);\n }\n }, self.processDelay);\n }\n };\n reader.readAsArrayBuffer(file);\n };\n\n readFile(0);\n self._updateFileDetails(numFiles);\n },\n lock: function (selectMode) {\n var self = this,\n $container = self.$container;\n self._resetErrors();\n self.disable();\n if (!selectMode && self.showCancel) {\n $container.find(\".fileinput-cancel\").show();\n }\n if (!selectMode && self.showPause) {\n $container.find(\".fileinput-pause\").show();\n }\n self._initCapStatus(\"processing\");\n self._raise(\"filelock\", [self.fileManager.stack, self._getExtraData()]);\n return self.$element;\n },\n unlock: function (reset) {\n var self = this,\n $container = self.$container;\n if (reset === undefined) {\n reset = true;\n }\n self.enable();\n $container.removeClass(\"is-locked\");\n if (self.showCancel) {\n $container.find(\".fileinput-cancel\").hide();\n }\n if (self.showPause) {\n $container.find(\".fileinput-pause\").hide();\n }\n if (reset) {\n self._resetFileStack();\n }\n self._initCapStatus();\n self._raise(\"fileunlock\", [self.fileManager.stack, self._getExtraData()]);\n return self.$element;\n },\n resume: function () {\n var self = this,\n fm = self.fileManager,\n flag = false,\n rm = self.resumableManager;\n fm.bpsLog = [];\n fm.bps = 0;\n if (!self.enableResumableUpload) {\n return self.$element;\n }\n if (self.paused) {\n self._toggleResumableProgress(self.progressPauseTemplate, self.msgUploadResume);\n } else {\n flag = true;\n }\n self.paused = false;\n if (flag) {\n self._toggleResumableProgress(self.progressInfoTemplate, self.msgUploadBegin);\n }\n setTimeout(function () {\n rm.upload();\n }, self.processDelay);\n return self.$element;\n },\n paste: function (e) {\n var self = this,\n dt = e.clipboardData || e.originalEvent.clipboardData;\n self._addFilesFromSystem(e, dt, \"filePaste\");\n return self.$element;\n },\n pause: function () {\n var self = this,\n rm = self.resumableManager,\n xhr = self.ajaxRequests,\n len = xhr.length,\n i,\n pct = rm.getProgress(),\n actions = self.fileActionSettings,\n tm = self.taskManager,\n pool = tm.getPool(rm.id);\n if (!self.enableResumableUpload) {\n return self.$element;\n } else {\n if (pool) {\n pool.cancel();\n }\n }\n self._raise(\"fileuploadpaused\", [self.fileManager, rm]);\n if (len > 0) {\n for (i = 0; i < len; i += 1) {\n self.paused = true;\n xhr[i].abort();\n }\n }\n if (self.showPreview) {\n self._getThumbs().each(function () {\n var $thumb = $(this),\n t = self._getLayoutTemplate(\"stats\"),\n stats,\n $indicator = $thumb.find(\".file-upload-indicator\");\n $thumb.removeClass(\"file-uploading\");\n if ($indicator.attr(\"title\") === actions.indicatorLoadingTitle) {\n self._setThumbStatus($thumb, \"Paused\");\n stats = t.setTokens({ pendingTime: self.msgPaused, uploadSpeed: \"\" });\n self.paused = true;\n self._setProgress(pct, $thumb.find(\".file-thumb-progress\"), pct + \"%\", stats);\n }\n if (!self._getThumbFile($thumb)) {\n $thumb.find(\".kv-file-remove\").removeClass(\"disabled\").removeAttr(\"disabled\");\n }\n });\n }\n self._setProgress(101, self.$progress, self.msgPaused);\n return self.$element;\n },\n cancel: function () {\n var self = this,\n xhr = self.ajaxRequests,\n rm = self.resumableManager,\n tm = self.taskManager,\n pool = rm ? tm.getPool(rm.id) : undefined,\n len = xhr.length,\n i;\n if (self.enableResumableUpload && pool) {\n pool.cancel().done(function () {\n self._setProgressCancelled();\n });\n rm.reset();\n self._raise(\"fileuploadcancelled\", [self.fileManager, rm]);\n } else {\n if (self.ajaxPool) {\n self.ajaxPool.cancel();\n }\n self._raise(\"fileuploadcancelled\", [self.fileManager]);\n }\n self._initAjax();\n if (len > 0) {\n for (i = 0; i < len; i += 1) {\n self.cancelling = true;\n xhr[i].abort();\n }\n }\n self._getThumbs().each(function () {\n var $thumb = $(this),\n $prog = $thumb.find(\".file-thumb-progress\");\n $thumb.removeClass(\"file-uploading\");\n self._setProgress(0, $prog);\n $prog.hide();\n if (!self._getThumbFile($thumb)) {\n $thumb.find(\".kv-file-upload\").removeClass(\"disabled\").removeAttr(\"disabled\");\n $thumb.find(\".kv-file-remove\").removeClass(\"disabled\").removeAttr(\"disabled\");\n }\n self.unlock();\n });\n setTimeout(function () {\n self._setProgressCancelled();\n }, self.processDelay);\n return self.$element;\n },\n clear: function () {\n var self = this,\n cap;\n if (!self._raise(\"fileclear\")) {\n return;\n }\n self.clearInput = true;\n self.$btnUpload.removeAttr(\"disabled\");\n self\n ._getThumbs()\n .find(\"video,audio,img\")\n .each(function () {\n $h.cleanMemory($(this));\n });\n self._clearFileInput();\n self._resetUpload();\n self.clearFileStack();\n self.isDuplicateError = false;\n self.isPersistentError = false;\n self._resetErrors(true);\n if (self._hasInitialPreview()) {\n self._showFileIcon();\n self._resetPreview();\n self._initPreviewActions();\n self.$container.removeClass(\"file-input-new\");\n } else {\n self._getThumbs().each(function () {\n self._clearObjects($(this));\n });\n if (self.isAjaxUpload) {\n self.previewCache.data = {};\n }\n self.$preview.html(\"\");\n cap = !self.overwriteInitial && self.initialCaption.length > 0 ? self.initialCaption : \"\";\n self.$caption.attr(\"title\", \"\").val(cap);\n $h.addCss(self.$container, \"file-input-new\");\n self._validateDefaultPreview();\n }\n if (self.$container.find($h.FRAMES).length === 0) {\n if (!self._initCaption()) {\n self.$captionContainer.removeClass(\"icon-visible\");\n }\n }\n self._hideFileIcon();\n if (self.focusCaptionOnClear) {\n self.$captionContainer.focus();\n }\n self._setFileDropZoneTitle();\n self._raise(\"filecleared\");\n return self.$element;\n },\n reset: function () {\n var self = this;\n if (!self._raise(\"filereset\")) {\n return;\n }\n self.lastProgress = 0;\n self._resetPreview();\n self.$container.find(\".fileinput-filename\").text(\"\");\n $h.addCss(self.$container, \"file-input-new\");\n if (self.getFrames().length) {\n self.$container.removeClass(\"file-input-new\");\n }\n self.clearFileStack();\n self._setFileDropZoneTitle();\n return self.$element;\n },\n disable: function () {\n var self = this,\n $container = self.$container;\n self.isDisabled = true;\n self._raise(\"filedisabled\");\n self.$element.attr(\"disabled\", \"disabled\");\n $container.addClass(\"is-locked\");\n $h.addCss($container.find(\".btn-file\"), \"disabled\");\n $container.find(\".kv-fileinput-caption\").addClass(\"file-caption-disabled\");\n $container.find(\".fileinput-remove, .fileinput-upload, .file-preview-frame button\").attr(\"disabled\", true);\n self._initDragDrop();\n return self.$element;\n },\n enable: function () {\n var self = this,\n $container = self.$container;\n self.isDisabled = false;\n self._raise(\"fileenabled\");\n self.$element.removeAttr(\"disabled\");\n $container.removeClass(\"is-locked\");\n $container.find(\".kv-fileinput-caption\").removeClass(\"file-caption-disabled\");\n $container.find(\".fileinput-remove, .fileinput-upload, .file-preview-frame button\").removeAttr(\"disabled\");\n $container.find(\".btn-file\").removeClass(\"disabled\");\n self._initDragDrop();\n return self.$element;\n },\n upload: function () {\n var self = this,\n fm = self.fileManager,\n totLen = fm.count(),\n i,\n outData,\n tm = self.taskManager,\n hasExtraData = !$.isEmptyObject(self._getExtraData());\n fm.bpsLog = [];\n fm.bps = 0;\n if (!self.isAjaxUpload || self.isDisabled || !self._isFileSelectionValid(totLen)) {\n return;\n }\n self.lastProgress = 0;\n self._resetUpload();\n if (totLen === 0 && !hasExtraData) {\n self._showFileError(self.msgUploadEmpty);\n return;\n }\n self.cancelling = false;\n self.uploadInitiated = true;\n self._showProgress();\n self.lock();\n if (totLen === 0 && hasExtraData) {\n self._setProgress(2);\n self._uploadExtraOnly();\n return;\n }\n if (self.enableResumableUpload) {\n return self.resume();\n }\n if (self.uploadAsync || self.enableResumableUpload) {\n outData = self._getOutData(null);\n if (!self._checkBatchPreupload(outData)) {\n return;\n }\n self.fileBatchCompleted = false;\n self.uploadCache = [];\n $.each(self.getFileStack(), function (id) {\n var previewId = self._getThumbId(id);\n self.uploadCache.push({ id: previewId, content: null, config: null, tags: null, append: true });\n });\n self.$preview.find(\".file-preview-initial\").removeClass($h.SORT_CSS);\n self._initSortable();\n }\n self._setProgress(2);\n self.hasInitData = false;\n if (self.uploadAsync) {\n i = 0;\n var pool = (self.ajaxPool = tm.addPool($h.uniqId()));\n $.each(self.getFileStack(), function (id) {\n pool.addTask(id + i, function (deferrer) {\n self._uploadSingle(i, id, true, deferrer);\n });\n i++;\n });\n\n pool\n .run(self.maxAjaxThreads)\n .done(function () {\n self._log(\"Async upload batch completed successfully.\");\n self._raise(\"filebatchuploadsuccess\", [fm.stack, self._getExtraData()]);\n })\n .fail(function () {\n self._log(\"Async upload batch completed with errors.\");\n self._raise(\"filebatchuploaderror\", [fm.stack, self._getExtraData()]);\n });\n return;\n }\n self._uploadBatch();\n return self.$element;\n },\n destroy: function () {\n var self = this,\n $form = self.$form,\n $cont = self.$container,\n $el = self.$element,\n ns = self.namespace;\n $(document).off(ns);\n $(window).off(ns);\n if ($form && $form.length) {\n $form.off(ns);\n }\n if (self.isAjaxUpload) {\n self._clearFileInput();\n }\n self._cleanup();\n self._initPreviewCache();\n $el.insertBefore($cont).off(ns).removeData();\n $cont.off().remove();\n return $el;\n },\n refresh: function (options) {\n var self = this,\n $el = self.$element;\n if (typeof options !== \"object\" || $h.isEmpty(options)) {\n options = self.options;\n } else {\n options = $.extend(true, {}, self.options, options);\n }\n self._init(options, true);\n self._listen();\n return $el;\n },\n zoom: function (frameId) {\n var self = this,\n $frame = self._getFrame(frameId);\n self._showModal($frame);\n },\n getExif: function (frameId) {\n var self = this,\n $frame = self._getFrame(frameId);\n return ($frame && $frame.data(\"exif\")) || null;\n },\n getFrames: function (cssFilter) {\n var self = this,\n $frames;\n cssFilter = cssFilter || \"\";\n $frames = self.$preview.find($h.FRAMES + cssFilter);\n if (self.reversePreviewOrder) {\n $frames = $($frames.get().reverse());\n }\n return $frames;\n },\n getPreview: function () {\n var self = this;\n return {\n content: self.initialPreview,\n config: self.initialPreviewConfig,\n tags: self.initialPreviewThumbTags,\n };\n },\n };\n\n $.fn.fileinput = function (option) {\n if (!$h.hasFileAPISupport() && !$h.isIE(9)) {\n return;\n }\n var args = Array.apply(null, arguments),\n retvals = [];\n args.shift();\n this.each(function () {\n var options = {}, optObj = {};\n if (typeof option === \"object\") {\n options = $.extend(true, {}, $.fn.fileinput.defaults, option);\n optObj = option;\n } \n var self = $(this),\n data = self.data(\"fileinput\"),\n theme = options.theme || self.data(\"theme\") || $.fn.fileinput.defaults.theme,\n l = {},\n t = {},\n lang = options.language || self.data(\"language\") || $.fn.fileinput.defaults.language || \"en\",\n opt;\n if (!data) {\n if (theme) {\n t = $.fn.fileinputThemes[theme] || {};\n }\n if (lang !== \"en\" && !$h.isEmpty($.fn.fileinputLocales[lang])) {\n l = $.fn.fileinputLocales[lang] || {};\n }\n opt = $.extend(true, {}, $.fn.fileinput.defaults, t, $.fn.fileinputLocales.en, l, optObj, self.data());\n data = new FileInput(this, opt);\n self.data(\"fileinput\", data);\n }\n\n if (typeof option === \"string\") {\n retvals.push(data[option].apply(data, args));\n }\n });\n switch (retvals.length) {\n case 0:\n return this;\n case 1:\n return retvals[0];\n default:\n return retvals;\n }\n };\n\n var IFRAME_ATTRIBS = 'class=\"kv-preview-data file-preview-pdf\" src=\"{renderer}?file={data}\" {style}',\n defBtnCss1 = \"btn btn-sm btn-kv \" + $h.defaultButtonCss(),\n defBtnCss2 = \"btn \" + $h.defaultButtonCss();\n\n $.fn.fileinput.defaults = {\n language: \"en\",\n bytesToKB: 1024,\n showCaption: true,\n showBrowse: true,\n showPreview: true,\n showRemove: true,\n showUpload: true,\n showUploadStats: true,\n showCancel: null,\n showPause: null,\n showClose: true,\n showUploadedThumbs: true,\n showConsoleLogs: false,\n browseOnZoneClick: false,\n autoReplace: false,\n showDescriptionClose: true,\n autoOrientImage: function () {\n // applicable for JPEG images only and non ios safari\n var ua = window.navigator.userAgent,\n webkit = !!ua.match(/WebKit/i),\n iOS = !!ua.match(/iP(od|ad|hone)/i),\n iOSSafari = iOS && webkit && !ua.match(/CriOS/i);\n return !iOSSafari;\n },\n autoOrientImageInitial: true,\n showExifErrorLog: false,\n required: false,\n rtl: false,\n hideThumbnailContent: false,\n encodeUrl: true,\n focusCaptionOnBrowse: true,\n focusCaptionOnClear: true,\n generateFileId: null,\n previewClass: \"\",\n captionClass: \"\",\n frameClass: \"krajee-default\",\n mainClass: \"\",\n inputGroupClass: \"\",\n mainTemplate: null,\n fileSizeGetter: null,\n initialCaption: \"\",\n initialPreview: [],\n initialPreviewDelimiter: \"*$$*\",\n initialPreviewAsData: false,\n initialPreviewFileType: \"image\",\n initialPreviewConfig: [],\n initialPreviewThumbTags: [],\n previewThumbTags: {},\n initialPreviewShowDelete: true,\n initialPreviewDownloadUrl: \"\",\n removeFromPreviewOnError: false,\n deleteUrl: \"\",\n deleteExtraData: {},\n overwriteInitial: true,\n sanitizeZoomCache: function (content) {\n var $container = $h.createDiv();\n $h.setHtml($container, content);\n $container.find(\"input,textarea,select,datalist,form,.file-thumbnail-footer\").remove();\n return $container.html();\n },\n previewZoomButtonIcons: {\n prev: '',\n next: '',\n rotate: '',\n toggleheader: '',\n fullscreen: '',\n borderless: '',\n close: '',\n },\n previewZoomButtonClasses: {\n prev: \"btn btn-default btn-outline-secondary btn-navigate\",\n next: \"btn btn-default btn-outline-secondary btn-navigate\",\n rotate: defBtnCss1,\n toggleheader: defBtnCss1,\n fullscreen: defBtnCss1,\n borderless: defBtnCss1,\n close: defBtnCss1,\n },\n previewTemplates: {},\n previewContentTemplates: {},\n preferIconicPreview: false,\n preferIconicZoomPreview: false,\n alwaysPreviewFileExtensions: [],\n rotatableFileExtensions: [\"jpg\", \"jpeg\", \"png\", \"gif\"],\n allowedFileTypes: null,\n allowedFileExtensions: null,\n allowedPreviewTypes: undefined,\n allowedPreviewMimeTypes: null,\n allowedPreviewExtensions: null,\n disabledPreviewTypes: undefined,\n disabledPreviewExtensions: [\"msi\", \"exe\", \"com\", \"zip\", \"rar\", \"app\", \"vb\", \"scr\"],\n disabledPreviewMimeTypes: null,\n defaultPreviewContent: null,\n customLayoutTags: {},\n customPreviewTags: {},\n previewFileIcon: '',\n previewFileIconClass: \"file-other-icon\",\n previewFileIconSettings: {},\n previewFileExtSettings: {},\n buttonLabelClass: \"hidden-xs\",\n browseIcon: ' ',\n browseClass: \"btn btn-primary\",\n removeIcon: '',\n removeClass: defBtnCss2,\n cancelIcon: '',\n cancelClass: defBtnCss2,\n pauseIcon: '',\n pauseClass: defBtnCss2,\n uploadIcon: '',\n uploadClass: defBtnCss2,\n uploadUrl: null,\n uploadUrlThumb: null,\n uploadAsync: true,\n uploadParamNames: {\n chunkCount: \"chunkCount\",\n chunkIndex: \"chunkIndex\",\n chunkSize: \"chunkSize\",\n chunkSizeStart: \"chunkSizeStart\",\n chunksUploaded: \"chunksUploaded\",\n fileBlob: \"fileBlob\",\n fileId: \"fileId\",\n fileName: \"fileName\",\n fileRelativePath: \"fileRelativePath\",\n fileSize: \"fileSize\",\n retryCount: \"retryCount\",\n },\n maxAjaxThreads: 5,\n fadeDelay: 800,\n processDelay: 100,\n bitrateUpdateDelay: 500,\n queueDelay: 10, // must be lesser than process delay\n progressDelay: 0, // must be lesser than process delay\n enableResumableUpload: false,\n resumableUploadOptions: {\n fallback: null,\n testUrl: null, // used for checking status of chunks/ files previously / partially uploaded\n chunkSize: 2048, // in KB\n maxThreads: 4,\n maxRetries: 3,\n showErrorLog: true,\n retainErrorHistory: false, // when set to true, display complete error history always unless user explicitly resets upload\n skipErrorsAndProceed: false, // when set to true, files with errors will be skipped and upload will continue with other files\n },\n uploadExtraData: {},\n zoomModalHeight: 485, // 5px more than the default preview content heights set for text, html, pdf etc.\n minImageWidth: null,\n minImageHeight: null,\n maxImageWidth: null,\n maxImageHeight: null,\n resizeImage: false,\n resizePreference: \"width\",\n resizeQuality: 0.92,\n resizeDefaultImageType: \"image/jpeg\",\n resizeIfSizeMoreThan: 0, // in KB\n minFileSize: -1,\n maxFileSize: 0,\n maxMultipleFileSize: 0,\n maxFilePreviewSize: 25600, // 25 MB\n minFileCount: 0,\n maxFileCount: 0,\n maxTotalFileCount: 0,\n validateInitialCount: false,\n msgValidationErrorClass: \"text-danger\",\n msgValidationErrorIcon: ' ',\n msgErrorClass: \"file-error-message\",\n progressThumbClass: \"progress-bar progress-bar-striped active progress-bar-animated\",\n progressClass: \"progress-bar bg-success progress-bar-success progress-bar-striped active progress-bar-animated\",\n progressInfoClass: \"progress-bar bg-info progress-bar-info progress-bar-striped active progress-bar-animated\",\n progressCompleteClass: \"progress-bar bg-success progress-bar-success\",\n progressPauseClass:\n \"progress-bar bg-primary progress-bar-primary progress-bar-striped active progress-bar-animated\",\n progressErrorClass: \"progress-bar bg-danger progress-bar-danger\",\n progressUploadThreshold: 99,\n previewFileType: \"image\",\n elCaptionContainer: null,\n elCaptionText: null,\n elPreviewContainer: null,\n elPreviewImage: null,\n elPreviewStatus: null,\n elErrorContainer: null,\n errorCloseButton: undefined,\n slugCallback: null,\n dropZoneEnabled: true,\n dropZoneTitleClass: \"file-drop-zone-title\",\n fileActionSettings: {},\n otherActionButtons: \"\",\n textEncoding: \"UTF-8\",\n preProcessUpload: null,\n ajaxSettings: {},\n ajaxDeleteSettings: {},\n showAjaxErrorDetails: true,\n mergeAjaxCallbacks: false,\n mergeAjaxDeleteCallbacks: false,\n retryErrorUploads: true,\n reversePreviewOrder: false,\n usePdfRenderer: function () {\n var isIE11 = !!window.MSInputMethodContext && !!document.documentMode;\n return !!navigator.userAgent.match(/(iPod|iPhone|iPad|Android)/i) || isIE11;\n },\n pdfRendererUrl: \"\",\n pdfRendererTemplate: \"\",\n tabIndexConfig: {\n browse: 500,\n remove: 500,\n upload: 500,\n cancel: null,\n pause: null,\n modal: -1,\n },\n };\n\n // noinspection HtmlUnknownAttribute\n $.fn.fileinputLocales.en = {\n sizeUnits: [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"],\n bitRateUnits: [\"B/s\", \"KB/s\", \"MB/s\", \"GB/s\", \"TB/s\", \"PB/s\", \"EB/s\", \"ZB/s\", \"YB/s\"],\n fileSingle: \"file\",\n filePlural: \"files\",\n browseLabel: \"Browse …\",\n removeLabel: \"Remove\",\n removeTitle: \"Clear all unprocessed files\",\n cancelLabel: \"Cancel\",\n cancelTitle: \"Abort ongoing upload\",\n pauseLabel: \"Pause\",\n pauseTitle: \"Pause ongoing upload\",\n uploadLabel: \"Upload\",\n uploadTitle: \"Upload selected files\",\n msgNo: \"No\",\n msgNoFilesSelected: \"No files selected\",\n msgCancelled: \"Cancelled\",\n msgPaused: \"Paused\",\n msgPlaceholder: \"Select {files} ...\",\n msgZoomModalHeading: \"Detailed Preview\",\n msgFileRequired: \"You must select a file to upload.\",\n msgSizeTooSmall: 'File \"{name}\" ({size}) is too small and must be larger than {minSize}.',\n msgSizeTooLarge: 'File \"{name}\" ({size}) exceeds maximum allowed upload size of {maxSize}.',\n msgMultipleSizeTooLarge: 'Files \"{name}\" ({size}) exceeds maximum allowed upload size of {maxSize}.',\n msgFilesTooLess: \"You must select at least {n} {files} to upload.\",\n msgFilesTooMany: \"Number of files selected for upload ({n}) exceeds maximum allowed limit of {m}.\",\n msgTotalFilesTooMany: \"You can upload a maximum of {m} files ({n} files detected).\",\n msgFileNotFound: 'File \"{name}\" not found!',\n msgFileSecured: 'Security restrictions prevent reading the file \"{name}\".',\n msgFileNotReadable: 'File \"{name}\" is not readable.',\n msgFilePreviewAborted: 'File preview aborted for \"{name}\".',\n msgFilePreviewError: 'An error occurred while reading the file \"{name}\".',\n msgInvalidFileName: 'Invalid or unsupported characters in file name \"{name}\".',\n msgInvalidFileType: 'Invalid type for file \"{name}\". Only \"{types}\" files are supported.',\n msgInvalidFileExtension: 'Invalid extension for file \"{name}\". Only \"{extensions}\" files are supported.',\n msgFileTypes: {\n image: \"image\",\n html: \"HTML\",\n text: \"text\",\n video: \"video\",\n audio: \"audio\",\n flash: \"flash\",\n pdf: \"PDF\",\n object: \"object\",\n },\n msgUploadAborted: \"The file upload was aborted\",\n msgUploadThreshold: \"Processing …\",\n msgUploadBegin: \"Initializing …\",\n msgUploadEnd: \"Done\",\n msgUploadResume: \"Resuming upload …\",\n msgUploadEmpty: \"No valid data available for upload.\",\n msgUploadError: \"Upload Error\",\n msgDeleteError: \"Delete Error\",\n msgProgressError: \"Error\",\n msgValidationError: \"Validation Error\",\n msgLoading: \"Loading file {index} of {files} …\",\n msgProgress: \"Loading file {index} of {files} - {name} - {percent}% completed.\",\n msgSelected: \"{n} {files} selected\",\n msgProcessing: \"Processing ...\",\n msgFoldersNotAllowed: \"Drag & drop files only! {n} folder(s) dropped were skipped.\",\n msgImageWidthSmall:\n 'Width of image file \"{name}\" must be at least {size} px (detected {dimension} px).',\n msgImageHeightSmall:\n 'Height of image file \"{name}\" must be at least {size} px (detected {dimension} px).',\n msgImageWidthLarge: 'Width of image file \"{name}\" cannot exceed {size} px (detected {dimension} px).',\n msgImageHeightLarge:\n 'Height of image file \"{name}\" cannot exceed {size} px (detected {dimension} px).',\n msgImageResizeError: \"Could not get the image dimensions to resize.\",\n msgImageResizeException: \"Error while resizing the image.
    {errors}
    \",\n msgAjaxError: \"Something went wrong with the {operation} operation. Please try again later!\",\n msgAjaxProgressError: \"{operation} failed\",\n msgDuplicateFile:\n 'File \"{name}\" of same size \"{size}\" has already been selected earlier. Skipping duplicate selection.',\n msgResumableUploadRetriesExceeded:\n \"Upload aborted beyond {max} retries for file {file}! Error Details:
    {error}
    \",\n msgPendingTime: \"{time} remaining\",\n msgCalculatingTime: \"calculating time remaining\",\n ajaxOperations: {\n deleteThumb: \"file delete\",\n uploadThumb: \"file upload\",\n uploadBatch: \"batch file upload\",\n uploadExtra: \"form data upload\",\n },\n dropZoneTitle: \"Drag & drop files here …\",\n dropZoneClickTitle: \"
    (or click to select {files})\",\n previewZoomButtonTitles: {\n prev: \"View previous file\",\n next: \"View next file\",\n rotate: \"Rotate 90 deg. clockwise\",\n toggleheader: \"Toggle header\",\n fullscreen: \"Toggle full screen\",\n borderless: \"Toggle borderless mode\",\n close: \"Close detailed preview\",\n },\n };\n\n $.fn.fileinput.Constructor = FileInput;\n\n /**\n * Convert automatically file inputs with class 'file' into a bootstrap fileinput control.\n */\n $(document).ready(function () {\n var $input = $(\"input.file[type=file]\");\n if ($input.length) {\n $input.fileinput();\n }\n });\n});\n","/*!\r\n * FileInput German Translations\r\n *\r\n * This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or\r\n * any HTML markup tags in the messages must not be converted or translated.\r\n *\r\n * @see http://github.com/kartik-v/bootstrap-fileinput\r\n */\r\n(function (factory) {\r\n 'use strict';\r\n if (typeof define === 'function' && define.amd) {\r\n define(['jquery'], factory);\r\n } else if (typeof module === 'object' && typeof module.exports === 'object') {\r\n factory(require('jquery'));\r\n } else {\r\n factory(window.jQuery);\r\n }\r\n}(function ($) {\r\n \"use strict\";\r\n\r\n $.fn.fileinputLocales['de'] = {\r\n sizeUnits: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],\r\n bitRateUnits: ['B/s', 'KB/s', 'MB/s', 'GB/s', 'TB/s', 'PB/s', 'EB/s', 'ZB/s', 'YB/s'],\r\n fileSingle: 'Datei',\r\n filePlural: 'Dateien',\r\n browseLabel: 'Auswählen…',\r\n removeLabel: 'Entfernen',\r\n removeTitle: 'Ausgewählte Dateien entfernen',\r\n cancelLabel: 'Abbrechen',\r\n cancelTitle: 'Upload abbrechen',\r\n pauseLabel: 'Pausieren',\r\n pauseTitle: 'Upload pausieren',\r\n uploadLabel: 'Hochladen',\r\n uploadTitle: 'Ausgewählte Dateien hochladen',\r\n msgNo: 'Keine',\r\n msgNoFilesSelected: 'Keine Dateien ausgewählt',\r\n msgPaused: 'Pausiert',\r\n msgCancelled: 'Abgebrochen',\r\n msgPlaceholder: '{files} auswählen...',\r\n msgZoomModalHeading: 'ausfĂĽhrliche Vorschau',\r\n msgFileRequired: 'Sie mĂĽssen eine Datei zum Hochladen auswählen.',\r\n msgSizeTooSmall: 'Datei \"{name}\" ({size}) unterschreitet mindestens notwendige Upload-Größe von {minSize}.',\r\n msgSizeTooLarge: 'Datei \"{name}\" ({size}) ĂĽberschreitet maximal zulässige Upload-Größe von {maxSize}.',\r\n msgMultipleSizeTooLarge: 'Dateien \"{name}\" ({size}) ĂĽberschreitet maximal zulässige Upload-Größe von {maxSize}.',\r\n msgFilesTooLess: 'Sie mĂĽssen mindestens {n} {files} zum Hochladen auswählen.',\r\n msgFilesTooMany: 'Anzahl der zum Hochladen ausgewählten Dateien ({n}) ĂĽberschreitet maximal zulässige Grenze von {m} Dateien.',\r\n msgTotalFilesTooMany: 'Anzahl der insgesamt zum Hochladen ausgewählten Dateien ({n}) ĂĽberschreitet maximal zulässige Grenze von {m} Dateien.',\r\n msgFileNotFound: 'Datei \"{name}\" wurde nicht gefunden.',\r\n msgFileSecured: 'Sicherheitseinstellungen verhindern das Lesen der Datei \"{name}\".',\r\n msgFileNotReadable: 'Die Datei \"{name}\" ist nicht lesbar.',\r\n msgFilePreviewAborted: 'Dateivorschau abgebrochen fĂĽr \"{name}\".',\r\n msgFilePreviewError: 'Beim Lesen der Datei \"{name}\" ist ein Fehler aufgetreten.',\r\n msgInvalidFileName: 'UngĂĽltige oder nicht unterstĂĽtzte Zeichen im Dateinamen \"{name}\".',\r\n msgInvalidFileType: 'UngĂĽltiger Typ fĂĽr Datei \"{name}\". Folgende Typen werden unterstĂĽtzt: \"{types}\"',\r\n msgInvalidFileExtension: 'UngĂĽltige Erweiterung fĂĽr Datei \"{name}\". Folgende Endungen werden unterstĂĽtzt: \"{extensions}\"',\r\n msgFileTypes: {\r\n 'image': 'Bild',\r\n 'html': 'HTML',\r\n 'text': 'Text',\r\n 'video': 'Video',\r\n 'audio': 'Audio',\r\n 'flash': 'Flash',\r\n 'pdf': 'PDF',\r\n 'object': 'Objekt'\r\n },\r\n msgUploadAborted: 'Der Upload wurde abgebrochen',\r\n msgUploadThreshold: 'Wird verarbeitet…',\r\n msgUploadBegin: 'Upload wird initialisiert…',\r\n msgUploadEnd: 'Abgeschlossen',\r\n msgUploadResume: 'Nehme Upload wieder auf…',\r\n msgUploadEmpty: 'Keine gĂĽltigen Daten zum Hochladen verfĂĽgbar.',\r\n msgUploadError: 'Uploadfehler',\r\n msgDeleteError: 'Fehler beim Löschen',\r\n msgProgressError: 'Fehler',\r\n msgValidationError: 'Validierungsfehler',\r\n msgLoading: 'Lade Datei {index} von {files} hoch…',\r\n msgProgress: 'Datei {index} von {files} - {name} - zu {percent} % fertiggestellt.',\r\n msgSelected: '{n} {files} ausgewählt',\r\n msgProcessing: 'Verarbeite…',\r\n msgFoldersNotAllowed: 'Drag-and-Drop funktioniert nur bei Dateien. {n} Ordner ĂĽbersprungen.',\r\n msgImageWidthSmall: 'Breite der Bilddatei \"{name}\" muss mindestens {size} px betragen (erkannt: {dimension} px).',\r\n msgImageHeightSmall: 'Höhe der Bilddatei \"{name}\" muss mindestens {size} px betragen (erkannt: {dimension} px).',\r\n msgImageWidthLarge: 'Breite der Bilddatei \"{name}\" darf {size} px nicht ĂĽberschreiten (erkannt: {dimension} px).',\r\n msgImageHeightLarge: 'Höhe der Bilddatei \"{name}\" darf {size} px nicht ĂĽberschreiten (erkannt: {dimension} px).',\r\n msgImageResizeError: 'Konnte die Bildgröße nicht ändern.',\r\n msgImageResizeException: 'Fehler beim Ă„ndern der Bildgröße.
    {errors}
    ',\r\n msgAjaxError: 'Bei der Aktion \"{operation}\" ist ein Fehler aufgetreten. Bitte versuchen Sie es später noch einmal.',\r\n msgAjaxProgressError: '{operation} fehlgeschlagen',\r\n msgDuplicateFile: 'Die Datei \"{name}\" mit der Größe \"{size}\" ist bereits ausgewählt worden.',\r\n msgResumableUploadRetriesExceeded: 'Upload der Datei {file} nach {max} Versuchen abgebrochen. Fehler:
    {error}
    ',\r\n msgPendingTime: '{time} verbleibend',\r\n msgCalculatingTime: 'Berechne verbleibende Dauer',\r\n ajaxOperations: {\r\n deleteThumb: 'Datei löschen',\r\n uploadThumb: 'Datei hochladen',\r\n uploadBatch: 'Datei-Batchupload',\r\n uploadExtra: 'Formulardaten-Upload'\r\n },\r\n dropZoneTitle: 'Dateien hierher ziehen…',\r\n dropZoneClickTitle: '
    (oder klicken, um {files} auszuwählen)',\r\n fileActionSettings: {\r\n removeTitle: 'Datei entfernen',\r\n uploadTitle: 'Datei hochladen',\r\n uploadRetryTitle: 'Upload erneut versuchen',\r\n downloadTitle: 'Datei herunterladen',\r\n rotateTitle: 'Um 90 Grad im Uhrzeigersinn drehen',\r\n zoomTitle: 'Details anzeigen',\r\n dragTitle: 'Verschieben',\r\n indicatorNewTitle: 'Noch nicht hochgeladen',\r\n indicatorSuccessTitle: 'Hochgeladen',\r\n indicatorErrorTitle: 'Uploadfehler',\r\n indicatorPausedTitle: 'Upload pausiert',\r\n indicatorLoadingTitle: 'Lade hoch...'\r\n },\r\n previewZoomButtonTitles: {\r\n prev: 'Vorherige Datei anzeigen',\r\n next: 'Nächste Datei anzeigen',\r\n rotate: 'Um 90 Grad im Uhrzeigersinn drehen',\r\n toggleheader: 'Kopfzeile umschalten',\r\n fullscreen: 'Vollbildmodus umschalten',\r\n borderless: 'Randlosen Modus umschalten',\r\n close: 'Detailansicht schließen'\r\n }\r\n };\r\n}));\r\n","/*!\n * bootstrap-fileinput v5.5.0\n * http://plugins.krajee.com/file-input\n *\n * Font Awesome 5.x icon theme configuration for bootstrap-fileinput. Requires font awesome 5 assets to be loaded.\n *\n * Author: Kartik Visweswaran\n * Copyright: 2014 - 2024, Kartik Visweswaran, Krajee.com\n *\n * Licensed under the BSD-3-Clause\n * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md\n */\n!function(a){\"use strict\";\"function\"==typeof define&&define.amd?define([\"jquery\"],a):a(\"object\"==typeof module&&\"object\"==typeof module.exports?require(\"jquery\"):window.jQuery)}(function(a){\"use strict\";a.fn.fileinputThemes.fa5={fileActionSettings:{removeIcon:'',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',rotateIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:''},layoutTemplates:{fileIcon:' '},previewZoomButtonIcons:{prev:'',next:'',rotate:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',pauseIcon:'',uploadIcon:'',msgValidationErrorIcon:' '}});","/*!\n * Bootstrap v4.6.2 (https://getbootstrap.com/)\n * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :\n typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));\n})(this, (function (exports, $, Popper) { 'use strict';\n\n function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\n var $__default = /*#__PURE__*/_interopDefaultLegacy($);\n var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n\n function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n }\n\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n\n /**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n /**\n * Private TransitionEnd Helpers\n */\n\n var TRANSITION_END = 'transitionend';\n var MAX_UID = 1000000;\n var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n\n function toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return \"\" + obj;\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase();\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle: function handle(event) {\n if ($__default[\"default\"](event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params\n }\n\n return undefined;\n }\n };\n }\n\n function transitionEndEmulator(duration) {\n var _this = this;\n\n var called = false;\n $__default[\"default\"](this).one(Util.TRANSITION_END, function () {\n called = true;\n });\n setTimeout(function () {\n if (!called) {\n Util.triggerTransitionEnd(_this);\n }\n }, duration);\n return this;\n }\n\n function setTransitionEndSupport() {\n $__default[\"default\"].fn.emulateTransitionEnd = transitionEndEmulator;\n $__default[\"default\"].event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();\n }\n /**\n * Public Util API\n */\n\n\n var Util = {\n TRANSITION_END: 'bsTransitionEnd',\n getUID: function getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID); // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix));\n\n return prefix;\n },\n getSelectorFromElement: function getSelectorFromElement(element) {\n var selector = element.getAttribute('data-target');\n\n if (!selector || selector === '#') {\n var hrefAttr = element.getAttribute('href');\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';\n }\n\n try {\n return document.querySelector(selector) ? selector : null;\n } catch (_) {\n return null;\n }\n },\n getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {\n if (!element) {\n return 0;\n } // Get transition-duration of the element\n\n\n var transitionDuration = $__default[\"default\"](element).css('transition-duration');\n var transitionDelay = $__default[\"default\"](element).css('transition-delay');\n var floatTransitionDuration = parseFloat(transitionDuration);\n var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n } // If multiple durations are defined, take the first\n\n\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n },\n reflow: function reflow(element) {\n return element.offsetHeight;\n },\n triggerTransitionEnd: function triggerTransitionEnd(element) {\n $__default[\"default\"](element).trigger(TRANSITION_END);\n },\n supportsTransitionEnd: function supportsTransitionEnd() {\n return Boolean(TRANSITION_END);\n },\n isElement: function isElement(obj) {\n return (obj[0] || obj).nodeType;\n },\n typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {\n for (var property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n var expectedTypes = configTypes[property];\n var value = config[property];\n var valueType = value && Util.isElement(value) ? 'element' : toType(value);\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(componentName.toUpperCase() + \": \" + (\"Option \\\"\" + property + \"\\\" provided type \\\"\" + valueType + \"\\\" \") + (\"but expected type \\\"\" + expectedTypes + \"\\\".\"));\n }\n }\n }\n },\n findShadowRoot: function findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null;\n } // Can find the shadow root otherwise it'll return the document\n\n\n if (typeof element.getRootNode === 'function') {\n var root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n\n if (element instanceof ShadowRoot) {\n return element;\n } // when we don't find a shadow root\n\n\n if (!element.parentNode) {\n return null;\n }\n\n return Util.findShadowRoot(element.parentNode);\n },\n jQueryDetection: function jQueryDetection() {\n if (typeof $__default[\"default\"] === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.');\n }\n\n var version = $__default[\"default\"].fn.jquery.split(' ')[0].split('.');\n var minMajor = 1;\n var ltMajor = 2;\n var minMinor = 9;\n var minPatch = 1;\n var maxMajor = 4;\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');\n }\n }\n };\n Util.jQueryDetection();\n setTransitionEndSupport();\n\n /**\n * Constants\n */\n\n var NAME$a = 'alert';\n var VERSION$a = '4.6.2';\n var DATA_KEY$a = 'bs.alert';\n var EVENT_KEY$a = \".\" + DATA_KEY$a;\n var DATA_API_KEY$7 = '.data-api';\n var JQUERY_NO_CONFLICT$a = $__default[\"default\"].fn[NAME$a];\n var CLASS_NAME_ALERT = 'alert';\n var CLASS_NAME_FADE$5 = 'fade';\n var CLASS_NAME_SHOW$7 = 'show';\n var EVENT_CLOSE = \"close\" + EVENT_KEY$a;\n var EVENT_CLOSED = \"closed\" + EVENT_KEY$a;\n var EVENT_CLICK_DATA_API$6 = \"click\" + EVENT_KEY$a + DATA_API_KEY$7;\n var SELECTOR_DISMISS = '[data-dismiss=\"alert\"]';\n /**\n * Class definition\n */\n\n var Alert = /*#__PURE__*/function () {\n function Alert(element) {\n this._element = element;\n } // Getters\n\n\n var _proto = Alert.prototype;\n\n // Public\n _proto.close = function close(element) {\n var rootElement = this._element;\n\n if (element) {\n rootElement = this._getRootElement(element);\n }\n\n var customEvent = this._triggerCloseEvent(rootElement);\n\n if (customEvent.isDefaultPrevented()) {\n return;\n }\n\n this._removeElement(rootElement);\n };\n\n _proto.dispose = function dispose() {\n $__default[\"default\"].removeData(this._element, DATA_KEY$a);\n this._element = null;\n } // Private\n ;\n\n _proto._getRootElement = function _getRootElement(element) {\n var selector = Util.getSelectorFromElement(element);\n var parent = false;\n\n if (selector) {\n parent = document.querySelector(selector);\n }\n\n if (!parent) {\n parent = $__default[\"default\"](element).closest(\".\" + CLASS_NAME_ALERT)[0];\n }\n\n return parent;\n };\n\n _proto._triggerCloseEvent = function _triggerCloseEvent(element) {\n var closeEvent = $__default[\"default\"].Event(EVENT_CLOSE);\n $__default[\"default\"](element).trigger(closeEvent);\n return closeEvent;\n };\n\n _proto._removeElement = function _removeElement(element) {\n var _this = this;\n\n $__default[\"default\"](element).removeClass(CLASS_NAME_SHOW$7);\n\n if (!$__default[\"default\"](element).hasClass(CLASS_NAME_FADE$5)) {\n this._destroyElement(element);\n\n return;\n }\n\n var transitionDuration = Util.getTransitionDurationFromElement(element);\n $__default[\"default\"](element).one(Util.TRANSITION_END, function (event) {\n return _this._destroyElement(element, event);\n }).emulateTransitionEnd(transitionDuration);\n };\n\n _proto._destroyElement = function _destroyElement(element) {\n $__default[\"default\"](element).detach().trigger(EVENT_CLOSED).remove();\n } // Static\n ;\n\n Alert._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $__default[\"default\"](this);\n var data = $element.data(DATA_KEY$a);\n\n if (!data) {\n data = new Alert(this);\n $element.data(DATA_KEY$a, data);\n }\n\n if (config === 'close') {\n data[config](this);\n }\n });\n };\n\n Alert._handleDismiss = function _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault();\n }\n\n alertInstance.close(this);\n };\n };\n\n _createClass(Alert, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$a;\n }\n }]);\n\n return Alert;\n }();\n /**\n * Data API implementation\n */\n\n\n $__default[\"default\"](document).on(EVENT_CLICK_DATA_API$6, SELECTOR_DISMISS, Alert._handleDismiss(new Alert()));\n /**\n * jQuery\n */\n\n $__default[\"default\"].fn[NAME$a] = Alert._jQueryInterface;\n $__default[\"default\"].fn[NAME$a].Constructor = Alert;\n\n $__default[\"default\"].fn[NAME$a].noConflict = function () {\n $__default[\"default\"].fn[NAME$a] = JQUERY_NO_CONFLICT$a;\n return Alert._jQueryInterface;\n };\n\n /**\n * Constants\n */\n\n var NAME$9 = 'button';\n var VERSION$9 = '4.6.2';\n var DATA_KEY$9 = 'bs.button';\n var EVENT_KEY$9 = \".\" + DATA_KEY$9;\n var DATA_API_KEY$6 = '.data-api';\n var JQUERY_NO_CONFLICT$9 = $__default[\"default\"].fn[NAME$9];\n var CLASS_NAME_ACTIVE$3 = 'active';\n var CLASS_NAME_BUTTON = 'btn';\n var CLASS_NAME_FOCUS = 'focus';\n var EVENT_CLICK_DATA_API$5 = \"click\" + EVENT_KEY$9 + DATA_API_KEY$6;\n var EVENT_FOCUS_BLUR_DATA_API = \"focus\" + EVENT_KEY$9 + DATA_API_KEY$6 + \" \" + (\"blur\" + EVENT_KEY$9 + DATA_API_KEY$6);\n var EVENT_LOAD_DATA_API$2 = \"load\" + EVENT_KEY$9 + DATA_API_KEY$6;\n var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]';\n var SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]';\n var SELECTOR_DATA_TOGGLE$4 = '[data-toggle=\"button\"]';\n var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn';\n var SELECTOR_INPUT = 'input:not([type=\"hidden\"])';\n var SELECTOR_ACTIVE$2 = '.active';\n var SELECTOR_BUTTON = '.btn';\n /**\n * Class definition\n */\n\n var Button = /*#__PURE__*/function () {\n function Button(element) {\n this._element = element;\n this.shouldAvoidTriggerChange = false;\n } // Getters\n\n\n var _proto = Button.prototype;\n\n // Public\n _proto.toggle = function toggle() {\n var triggerChangeEvent = true;\n var addAriaPressed = true;\n var rootElement = $__default[\"default\"](this._element).closest(SELECTOR_DATA_TOGGLES)[0];\n\n if (rootElement) {\n var input = this._element.querySelector(SELECTOR_INPUT);\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE$3)) {\n triggerChangeEvent = false;\n } else {\n var activeElement = rootElement.querySelector(SELECTOR_ACTIVE$2);\n\n if (activeElement) {\n $__default[\"default\"](activeElement).removeClass(CLASS_NAME_ACTIVE$3);\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE$3);\n }\n\n if (!this.shouldAvoidTriggerChange) {\n $__default[\"default\"](input).trigger('change');\n }\n }\n\n input.focus();\n addAriaPressed = false;\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE$3));\n }\n\n if (triggerChangeEvent) {\n $__default[\"default\"](this._element).toggleClass(CLASS_NAME_ACTIVE$3);\n }\n }\n };\n\n _proto.dispose = function dispose() {\n $__default[\"default\"].removeData(this._element, DATA_KEY$9);\n this._element = null;\n } // Static\n ;\n\n Button._jQueryInterface = function _jQueryInterface(config, avoidTriggerChange) {\n return this.each(function () {\n var $element = $__default[\"default\"](this);\n var data = $element.data(DATA_KEY$9);\n\n if (!data) {\n data = new Button(this);\n $element.data(DATA_KEY$9, data);\n }\n\n data.shouldAvoidTriggerChange = avoidTriggerChange;\n\n if (config === 'toggle') {\n data[config]();\n }\n });\n };\n\n _createClass(Button, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$9;\n }\n }]);\n\n return Button;\n }();\n /**\n * Data API implementation\n */\n\n\n $__default[\"default\"](document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE_CARROT, function (event) {\n var button = event.target;\n var initialButton = button;\n\n if (!$__default[\"default\"](button).hasClass(CLASS_NAME_BUTTON)) {\n button = $__default[\"default\"](button).closest(SELECTOR_BUTTON)[0];\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault(); // work around Firefox bug #1540995\n } else {\n var inputBtn = button.querySelector(SELECTOR_INPUT);\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault(); // work around Firefox bug #1540995\n\n return;\n }\n\n if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {\n Button._jQueryInterface.call($__default[\"default\"](button), 'toggle', initialButton.tagName === 'INPUT');\n }\n }\n }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {\n var button = $__default[\"default\"](event.target).closest(SELECTOR_BUTTON)[0];\n $__default[\"default\"](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));\n });\n $__default[\"default\"](window).on(EVENT_LOAD_DATA_API$2, function () {\n // ensure correct active class is set to match the controls' actual values/states\n // find all checkboxes/readio buttons inside data-toggle groups\n var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));\n\n for (var i = 0, len = buttons.length; i < len; i++) {\n var button = buttons[i];\n var input = button.querySelector(SELECTOR_INPUT);\n\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE$3);\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE$3);\n }\n } // find all button toggles\n\n\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$4));\n\n for (var _i = 0, _len = buttons.length; _i < _len; _i++) {\n var _button = buttons[_i];\n\n if (_button.getAttribute('aria-pressed') === 'true') {\n _button.classList.add(CLASS_NAME_ACTIVE$3);\n } else {\n _button.classList.remove(CLASS_NAME_ACTIVE$3);\n }\n }\n });\n /**\n * jQuery\n */\n\n $__default[\"default\"].fn[NAME$9] = Button._jQueryInterface;\n $__default[\"default\"].fn[NAME$9].Constructor = Button;\n\n $__default[\"default\"].fn[NAME$9].noConflict = function () {\n $__default[\"default\"].fn[NAME$9] = JQUERY_NO_CONFLICT$9;\n return Button._jQueryInterface;\n };\n\n /**\n * Constants\n */\n\n var NAME$8 = 'carousel';\n var VERSION$8 = '4.6.2';\n var DATA_KEY$8 = 'bs.carousel';\n var EVENT_KEY$8 = \".\" + DATA_KEY$8;\n var DATA_API_KEY$5 = '.data-api';\n var JQUERY_NO_CONFLICT$8 = $__default[\"default\"].fn[NAME$8];\n var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key\n\n var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key\n\n var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\n var SWIPE_THRESHOLD = 40;\n var CLASS_NAME_CAROUSEL = 'carousel';\n var CLASS_NAME_ACTIVE$2 = 'active';\n var CLASS_NAME_SLIDE = 'slide';\n var CLASS_NAME_RIGHT = 'carousel-item-right';\n var CLASS_NAME_LEFT = 'carousel-item-left';\n var CLASS_NAME_NEXT = 'carousel-item-next';\n var CLASS_NAME_PREV = 'carousel-item-prev';\n var CLASS_NAME_POINTER_EVENT = 'pointer-event';\n var DIRECTION_NEXT = 'next';\n var DIRECTION_PREV = 'prev';\n var DIRECTION_LEFT = 'left';\n var DIRECTION_RIGHT = 'right';\n var EVENT_SLIDE = \"slide\" + EVENT_KEY$8;\n var EVENT_SLID = \"slid\" + EVENT_KEY$8;\n var EVENT_KEYDOWN = \"keydown\" + EVENT_KEY$8;\n var EVENT_MOUSEENTER = \"mouseenter\" + EVENT_KEY$8;\n var EVENT_MOUSELEAVE = \"mouseleave\" + EVENT_KEY$8;\n var EVENT_TOUCHSTART = \"touchstart\" + EVENT_KEY$8;\n var EVENT_TOUCHMOVE = \"touchmove\" + EVENT_KEY$8;\n var EVENT_TOUCHEND = \"touchend\" + EVENT_KEY$8;\n var EVENT_POINTERDOWN = \"pointerdown\" + EVENT_KEY$8;\n var EVENT_POINTERUP = \"pointerup\" + EVENT_KEY$8;\n var EVENT_DRAG_START = \"dragstart\" + EVENT_KEY$8;\n var EVENT_LOAD_DATA_API$1 = \"load\" + EVENT_KEY$8 + DATA_API_KEY$5;\n var EVENT_CLICK_DATA_API$4 = \"click\" + EVENT_KEY$8 + DATA_API_KEY$5;\n var SELECTOR_ACTIVE$1 = '.active';\n var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';\n var SELECTOR_ITEM = '.carousel-item';\n var SELECTOR_ITEM_IMG = '.carousel-item img';\n var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';\n var SELECTOR_INDICATORS = '.carousel-indicators';\n var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';\n var SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]';\n var Default$7 = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n };\n var DefaultType$7 = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n };\n var PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n };\n /**\n * Class definition\n */\n\n var Carousel = /*#__PURE__*/function () {\n function Carousel(element, config) {\n this._items = null;\n this._interval = null;\n this._activeElement = null;\n this._isPaused = false;\n this._isSliding = false;\n this.touchTimeout = null;\n this.touchStartX = 0;\n this.touchDeltaX = 0;\n this._config = this._getConfig(config);\n this._element = element;\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS);\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);\n\n this._addEventListeners();\n } // Getters\n\n\n var _proto = Carousel.prototype;\n\n // Public\n _proto.next = function next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT);\n }\n };\n\n _proto.nextWhenVisible = function nextWhenVisible() {\n var $element = $__default[\"default\"](this._element); // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n\n if (!document.hidden && $element.is(':visible') && $element.css('visibility') !== 'hidden') {\n this.next();\n }\n };\n\n _proto.prev = function prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV);\n }\n };\n\n _proto.pause = function pause(event) {\n if (!event) {\n this._isPaused = true;\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element);\n this.cycle(true);\n }\n\n clearInterval(this._interval);\n this._interval = null;\n };\n\n _proto.cycle = function cycle(event) {\n if (!event) {\n this._isPaused = false;\n }\n\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n\n if (this._config.interval && !this._isPaused) {\n this._updateInterval();\n\n this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);\n }\n };\n\n _proto.to = function to(index) {\n var _this = this;\n\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n var activeIndex = this._getItemIndex(this._activeElement);\n\n if (index > this._items.length - 1 || index < 0) {\n return;\n }\n\n if (this._isSliding) {\n $__default[\"default\"](this._element).one(EVENT_SLID, function () {\n return _this.to(index);\n });\n return;\n }\n\n if (activeIndex === index) {\n this.pause();\n this.cycle();\n return;\n }\n\n var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;\n\n this._slide(direction, this._items[index]);\n };\n\n _proto.dispose = function dispose() {\n $__default[\"default\"](this._element).off(EVENT_KEY$8);\n $__default[\"default\"].removeData(this._element, DATA_KEY$8);\n this._items = null;\n this._config = null;\n this._element = null;\n this._interval = null;\n this._isPaused = null;\n this._isSliding = null;\n this._activeElement = null;\n this._indicatorsElement = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, Default$7, config);\n Util.typeCheckConfig(NAME$8, config, DefaultType$7);\n return config;\n };\n\n _proto._handleSwipe = function _handleSwipe() {\n var absDeltax = Math.abs(this.touchDeltaX);\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return;\n }\n\n var direction = absDeltax / this.touchDeltaX;\n this.touchDeltaX = 0; // swipe left\n\n if (direction > 0) {\n this.prev();\n } // swipe right\n\n\n if (direction < 0) {\n this.next();\n }\n };\n\n _proto._addEventListeners = function _addEventListeners() {\n var _this2 = this;\n\n if (this._config.keyboard) {\n $__default[\"default\"](this._element).on(EVENT_KEYDOWN, function (event) {\n return _this2._keydown(event);\n });\n }\n\n if (this._config.pause === 'hover') {\n $__default[\"default\"](this._element).on(EVENT_MOUSEENTER, function (event) {\n return _this2.pause(event);\n }).on(EVENT_MOUSELEAVE, function (event) {\n return _this2.cycle(event);\n });\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners();\n }\n };\n\n _proto._addTouchEventListeners = function _addTouchEventListeners() {\n var _this3 = this;\n\n if (!this._touchSupported) {\n return;\n }\n\n var start = function start(event) {\n if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n _this3.touchStartX = event.originalEvent.clientX;\n } else if (!_this3._pointerEvent) {\n _this3.touchStartX = event.originalEvent.touches[0].clientX;\n }\n };\n\n var move = function move(event) {\n // ensure swiping with one touch and not pinching\n _this3.touchDeltaX = event.originalEvent.touches && event.originalEvent.touches.length > 1 ? 0 : event.originalEvent.touches[0].clientX - _this3.touchStartX;\n };\n\n var end = function end(event) {\n if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;\n }\n\n _this3._handleSwipe();\n\n if (_this3._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n _this3.pause();\n\n if (_this3.touchTimeout) {\n clearTimeout(_this3.touchTimeout);\n }\n\n _this3.touchTimeout = setTimeout(function (event) {\n return _this3.cycle(event);\n }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);\n }\n };\n\n $__default[\"default\"](this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) {\n return e.preventDefault();\n });\n\n if (this._pointerEvent) {\n $__default[\"default\"](this._element).on(EVENT_POINTERDOWN, function (event) {\n return start(event);\n });\n $__default[\"default\"](this._element).on(EVENT_POINTERUP, function (event) {\n return end(event);\n });\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n $__default[\"default\"](this._element).on(EVENT_TOUCHSTART, function (event) {\n return start(event);\n });\n $__default[\"default\"](this._element).on(EVENT_TOUCHMOVE, function (event) {\n return move(event);\n });\n $__default[\"default\"](this._element).on(EVENT_TOUCHEND, function (event) {\n return end(event);\n });\n }\n };\n\n _proto._keydown = function _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault();\n this.prev();\n break;\n\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault();\n this.next();\n break;\n }\n };\n\n _proto._getItemIndex = function _getItemIndex(element) {\n this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) : [];\n return this._items.indexOf(element);\n };\n\n _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {\n var isNextDirection = direction === DIRECTION_NEXT;\n var isPrevDirection = direction === DIRECTION_PREV;\n\n var activeIndex = this._getItemIndex(activeElement);\n\n var lastItemIndex = this._items.length - 1;\n var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement;\n }\n\n var delta = direction === DIRECTION_PREV ? -1 : 1;\n var itemIndex = (activeIndex + delta) % this._items.length;\n return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];\n };\n\n _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {\n var targetIndex = this._getItemIndex(relatedTarget);\n\n var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM));\n\n var slideEvent = $__default[\"default\"].Event(EVENT_SLIDE, {\n relatedTarget: relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n });\n $__default[\"default\"](this._element).trigger(slideEvent);\n return slideEvent;\n };\n\n _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1));\n $__default[\"default\"](indicators).removeClass(CLASS_NAME_ACTIVE$2);\n\n var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];\n\n if (nextIndicator) {\n $__default[\"default\"](nextIndicator).addClass(CLASS_NAME_ACTIVE$2);\n }\n }\n };\n\n _proto._updateInterval = function _updateInterval() {\n var element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n if (!element) {\n return;\n }\n\n var elementInterval = parseInt(element.getAttribute('data-interval'), 10);\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval;\n this._config.interval = elementInterval;\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval;\n }\n };\n\n _proto._slide = function _slide(direction, element) {\n var _this4 = this;\n\n var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n var activeElementIndex = this._getItemIndex(activeElement);\n\n var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);\n\n var nextElementIndex = this._getItemIndex(nextElement);\n\n var isCycling = Boolean(this._interval);\n var directionalClassName;\n var orderClassName;\n var eventDirectionName;\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT;\n orderClassName = CLASS_NAME_NEXT;\n eventDirectionName = DIRECTION_LEFT;\n } else {\n directionalClassName = CLASS_NAME_RIGHT;\n orderClassName = CLASS_NAME_PREV;\n eventDirectionName = DIRECTION_RIGHT;\n }\n\n if (nextElement && $__default[\"default\"](nextElement).hasClass(CLASS_NAME_ACTIVE$2)) {\n this._isSliding = false;\n return;\n }\n\n var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\n\n if (slideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return;\n }\n\n this._isSliding = true;\n\n if (isCycling) {\n this.pause();\n }\n\n this._setActiveIndicatorElement(nextElement);\n\n this._activeElement = nextElement;\n var slidEvent = $__default[\"default\"].Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n });\n\n if ($__default[\"default\"](this._element).hasClass(CLASS_NAME_SLIDE)) {\n $__default[\"default\"](nextElement).addClass(orderClassName);\n Util.reflow(nextElement);\n $__default[\"default\"](activeElement).addClass(directionalClassName);\n $__default[\"default\"](nextElement).addClass(directionalClassName);\n var transitionDuration = Util.getTransitionDurationFromElement(activeElement);\n $__default[\"default\"](activeElement).one(Util.TRANSITION_END, function () {\n $__default[\"default\"](nextElement).removeClass(directionalClassName + \" \" + orderClassName).addClass(CLASS_NAME_ACTIVE$2);\n $__default[\"default\"](activeElement).removeClass(CLASS_NAME_ACTIVE$2 + \" \" + orderClassName + \" \" + directionalClassName);\n _this4._isSliding = false;\n setTimeout(function () {\n return $__default[\"default\"](_this4._element).trigger(slidEvent);\n }, 0);\n }).emulateTransitionEnd(transitionDuration);\n } else {\n $__default[\"default\"](activeElement).removeClass(CLASS_NAME_ACTIVE$2);\n $__default[\"default\"](nextElement).addClass(CLASS_NAME_ACTIVE$2);\n this._isSliding = false;\n $__default[\"default\"](this._element).trigger(slidEvent);\n }\n\n if (isCycling) {\n this.cycle();\n }\n } // Static\n ;\n\n Carousel._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $__default[\"default\"](this).data(DATA_KEY$8);\n\n var _config = _extends({}, Default$7, $__default[\"default\"](this).data());\n\n if (typeof config === 'object') {\n _config = _extends({}, _config, config);\n }\n\n var action = typeof config === 'string' ? config : _config.slide;\n\n if (!data) {\n data = new Carousel(this, _config);\n $__default[\"default\"](this).data(DATA_KEY$8, data);\n }\n\n if (typeof config === 'number') {\n data.to(config);\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + action + \"\\\"\");\n }\n\n data[action]();\n } else if (_config.interval && _config.ride) {\n data.pause();\n data.cycle();\n }\n });\n };\n\n Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {\n var selector = Util.getSelectorFromElement(this);\n\n if (!selector) {\n return;\n }\n\n var target = $__default[\"default\"](selector)[0];\n\n if (!target || !$__default[\"default\"](target).hasClass(CLASS_NAME_CAROUSEL)) {\n return;\n }\n\n var config = _extends({}, $__default[\"default\"](target).data(), $__default[\"default\"](this).data());\n\n var slideIndex = this.getAttribute('data-slide-to');\n\n if (slideIndex) {\n config.interval = false;\n }\n\n Carousel._jQueryInterface.call($__default[\"default\"](target), config);\n\n if (slideIndex) {\n $__default[\"default\"](target).data(DATA_KEY$8).to(slideIndex);\n }\n\n event.preventDefault();\n };\n\n _createClass(Carousel, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$8;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$7;\n }\n }]);\n\n return Carousel;\n }();\n /**\n * Data API implementation\n */\n\n\n $__default[\"default\"](document).on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler);\n $__default[\"default\"](window).on(EVENT_LOAD_DATA_API$1, function () {\n var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE));\n\n for (var i = 0, len = carousels.length; i < len; i++) {\n var $carousel = $__default[\"default\"](carousels[i]);\n\n Carousel._jQueryInterface.call($carousel, $carousel.data());\n }\n });\n /**\n * jQuery\n */\n\n $__default[\"default\"].fn[NAME$8] = Carousel._jQueryInterface;\n $__default[\"default\"].fn[NAME$8].Constructor = Carousel;\n\n $__default[\"default\"].fn[NAME$8].noConflict = function () {\n $__default[\"default\"].fn[NAME$8] = JQUERY_NO_CONFLICT$8;\n return Carousel._jQueryInterface;\n };\n\n /**\n * Constants\n */\n\n var NAME$7 = 'collapse';\n var VERSION$7 = '4.6.2';\n var DATA_KEY$7 = 'bs.collapse';\n var EVENT_KEY$7 = \".\" + DATA_KEY$7;\n var DATA_API_KEY$4 = '.data-api';\n var JQUERY_NO_CONFLICT$7 = $__default[\"default\"].fn[NAME$7];\n var CLASS_NAME_SHOW$6 = 'show';\n var CLASS_NAME_COLLAPSE = 'collapse';\n var CLASS_NAME_COLLAPSING = 'collapsing';\n var CLASS_NAME_COLLAPSED = 'collapsed';\n var DIMENSION_WIDTH = 'width';\n var DIMENSION_HEIGHT = 'height';\n var EVENT_SHOW$4 = \"show\" + EVENT_KEY$7;\n var EVENT_SHOWN$4 = \"shown\" + EVENT_KEY$7;\n var EVENT_HIDE$4 = \"hide\" + EVENT_KEY$7;\n var EVENT_HIDDEN$4 = \"hidden\" + EVENT_KEY$7;\n var EVENT_CLICK_DATA_API$3 = \"click\" + EVENT_KEY$7 + DATA_API_KEY$4;\n var SELECTOR_ACTIVES = '.show, .collapsing';\n var SELECTOR_DATA_TOGGLE$3 = '[data-toggle=\"collapse\"]';\n var Default$6 = {\n toggle: true,\n parent: ''\n };\n var DefaultType$6 = {\n toggle: 'boolean',\n parent: '(string|element)'\n };\n /**\n * Class definition\n */\n\n var Collapse = /*#__PURE__*/function () {\n function Collapse(element, config) {\n this._isTransitioning = false;\n this._element = element;\n this._config = this._getConfig(config);\n this._triggerArray = [].slice.call(document.querySelectorAll(\"[data-toggle=\\\"collapse\\\"][href=\\\"#\" + element.id + \"\\\"],\" + (\"[data-toggle=\\\"collapse\\\"][data-target=\\\"#\" + element.id + \"\\\"]\")));\n var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$3));\n\n for (var i = 0, len = toggleList.length; i < len; i++) {\n var elem = toggleList[i];\n var selector = Util.getSelectorFromElement(elem);\n var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {\n return foundElem === element;\n });\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector;\n\n this._triggerArray.push(elem);\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null;\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray);\n }\n\n if (this._config.toggle) {\n this.toggle();\n }\n } // Getters\n\n\n var _proto = Collapse.prototype;\n\n // Public\n _proto.toggle = function toggle() {\n if ($__default[\"default\"](this._element).hasClass(CLASS_NAME_SHOW$6)) {\n this.hide();\n } else {\n this.show();\n }\n };\n\n _proto.show = function show() {\n var _this = this;\n\n if (this._isTransitioning || $__default[\"default\"](this._element).hasClass(CLASS_NAME_SHOW$6)) {\n return;\n }\n\n var actives;\n var activesData;\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function (elem) {\n if (typeof _this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === _this._config.parent;\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE);\n });\n\n if (actives.length === 0) {\n actives = null;\n }\n }\n\n if (actives) {\n activesData = $__default[\"default\"](actives).not(this._selector).data(DATA_KEY$7);\n\n if (activesData && activesData._isTransitioning) {\n return;\n }\n }\n\n var startEvent = $__default[\"default\"].Event(EVENT_SHOW$4);\n $__default[\"default\"](this._element).trigger(startEvent);\n\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($__default[\"default\"](actives).not(this._selector), 'hide');\n\n if (!activesData) {\n $__default[\"default\"](actives).data(DATA_KEY$7, null);\n }\n }\n\n var dimension = this._getDimension();\n\n $__default[\"default\"](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);\n this._element.style[dimension] = 0;\n\n if (this._triggerArray.length) {\n $__default[\"default\"](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n $__default[\"default\"](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + \" \" + CLASS_NAME_SHOW$6);\n _this._element.style[dimension] = '';\n\n _this.setTransitioning(false);\n\n $__default[\"default\"](_this._element).trigger(EVENT_SHOWN$4);\n };\n\n var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n var scrollSize = \"scroll\" + capitalizedDimension;\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $__default[\"default\"](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n this._element.style[dimension] = this._element[scrollSize] + \"px\";\n };\n\n _proto.hide = function hide() {\n var _this2 = this;\n\n if (this._isTransitioning || !$__default[\"default\"](this._element).hasClass(CLASS_NAME_SHOW$6)) {\n return;\n }\n\n var startEvent = $__default[\"default\"].Event(EVENT_HIDE$4);\n $__default[\"default\"](this._element).trigger(startEvent);\n\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n var dimension = this._getDimension();\n\n this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + \"px\";\n Util.reflow(this._element);\n $__default[\"default\"](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + \" \" + CLASS_NAME_SHOW$6);\n var triggerArrayLength = this._triggerArray.length;\n\n if (triggerArrayLength > 0) {\n for (var i = 0; i < triggerArrayLength; i++) {\n var trigger = this._triggerArray[i];\n var selector = Util.getSelectorFromElement(trigger);\n\n if (selector !== null) {\n var $elem = $__default[\"default\"]([].slice.call(document.querySelectorAll(selector)));\n\n if (!$elem.hasClass(CLASS_NAME_SHOW$6)) {\n $__default[\"default\"](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);\n }\n }\n }\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n _this2.setTransitioning(false);\n\n $__default[\"default\"](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN$4);\n };\n\n this._element.style[dimension] = '';\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $__default[\"default\"](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n };\n\n _proto.setTransitioning = function setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning;\n };\n\n _proto.dispose = function dispose() {\n $__default[\"default\"].removeData(this._element, DATA_KEY$7);\n this._config = null;\n this._parent = null;\n this._element = null;\n this._triggerArray = null;\n this._isTransitioning = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, Default$6, config);\n config.toggle = Boolean(config.toggle); // Coerce string values\n\n Util.typeCheckConfig(NAME$7, config, DefaultType$6);\n return config;\n };\n\n _proto._getDimension = function _getDimension() {\n var hasWidth = $__default[\"default\"](this._element).hasClass(DIMENSION_WIDTH);\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;\n };\n\n _proto._getParent = function _getParent() {\n var _this3 = this;\n\n var parent;\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent; // It's a jQuery object\n\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0];\n }\n } else {\n parent = document.querySelector(this._config.parent);\n }\n\n var selector = \"[data-toggle=\\\"collapse\\\"][data-parent=\\\"\" + this._config.parent + \"\\\"]\";\n var children = [].slice.call(parent.querySelectorAll(selector));\n $__default[\"default\"](children).each(function (i, element) {\n _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);\n });\n return parent;\n };\n\n _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {\n var isOpen = $__default[\"default\"](element).hasClass(CLASS_NAME_SHOW$6);\n\n if (triggerArray.length) {\n $__default[\"default\"](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);\n }\n } // Static\n ;\n\n Collapse._getTargetFromElement = function _getTargetFromElement(element) {\n var selector = Util.getSelectorFromElement(element);\n return selector ? document.querySelector(selector) : null;\n };\n\n Collapse._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $__default[\"default\"](this);\n var data = $element.data(DATA_KEY$7);\n\n var _config = _extends({}, Default$6, $element.data(), typeof config === 'object' && config ? config : {});\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n\n if (!data) {\n data = new Collapse(this, _config);\n $element.data(DATA_KEY$7, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Collapse, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$7;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$6;\n }\n }]);\n\n return Collapse;\n }();\n /**\n * Data API implementation\n */\n\n\n $__default[\"default\"](document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault();\n }\n\n var $trigger = $__default[\"default\"](this);\n var selector = Util.getSelectorFromElement(this);\n var selectors = [].slice.call(document.querySelectorAll(selector));\n $__default[\"default\"](selectors).each(function () {\n var $target = $__default[\"default\"](this);\n var data = $target.data(DATA_KEY$7);\n var config = data ? 'toggle' : $trigger.data();\n\n Collapse._jQueryInterface.call($target, config);\n });\n });\n /**\n * jQuery\n */\n\n $__default[\"default\"].fn[NAME$7] = Collapse._jQueryInterface;\n $__default[\"default\"].fn[NAME$7].Constructor = Collapse;\n\n $__default[\"default\"].fn[NAME$7].noConflict = function () {\n $__default[\"default\"].fn[NAME$7] = JQUERY_NO_CONFLICT$7;\n return Collapse._jQueryInterface;\n };\n\n /**\n * Constants\n */\n\n var NAME$6 = 'dropdown';\n var VERSION$6 = '4.6.2';\n var DATA_KEY$6 = 'bs.dropdown';\n var EVENT_KEY$6 = \".\" + DATA_KEY$6;\n var DATA_API_KEY$3 = '.data-api';\n var JQUERY_NO_CONFLICT$6 = $__default[\"default\"].fn[NAME$6];\n var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key\n\n var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key\n\n var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key\n\n var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key\n\n var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key\n\n var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)\n\n var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + \"|\" + ARROW_DOWN_KEYCODE + \"|\" + ESCAPE_KEYCODE$1);\n var CLASS_NAME_DISABLED$1 = 'disabled';\n var CLASS_NAME_SHOW$5 = 'show';\n var CLASS_NAME_DROPUP = 'dropup';\n var CLASS_NAME_DROPRIGHT = 'dropright';\n var CLASS_NAME_DROPLEFT = 'dropleft';\n var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';\n var CLASS_NAME_POSITION_STATIC = 'position-static';\n var EVENT_HIDE$3 = \"hide\" + EVENT_KEY$6;\n var EVENT_HIDDEN$3 = \"hidden\" + EVENT_KEY$6;\n var EVENT_SHOW$3 = \"show\" + EVENT_KEY$6;\n var EVENT_SHOWN$3 = \"shown\" + EVENT_KEY$6;\n var EVENT_CLICK = \"click\" + EVENT_KEY$6;\n var EVENT_CLICK_DATA_API$2 = \"click\" + EVENT_KEY$6 + DATA_API_KEY$3;\n var EVENT_KEYDOWN_DATA_API = \"keydown\" + EVENT_KEY$6 + DATA_API_KEY$3;\n var EVENT_KEYUP_DATA_API = \"keyup\" + EVENT_KEY$6 + DATA_API_KEY$3;\n var SELECTOR_DATA_TOGGLE$2 = '[data-toggle=\"dropdown\"]';\n var SELECTOR_FORM_CHILD = '.dropdown form';\n var SELECTOR_MENU = '.dropdown-menu';\n var SELECTOR_NAVBAR_NAV = '.navbar-nav';\n var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\n var PLACEMENT_TOP = 'top-start';\n var PLACEMENT_TOPEND = 'top-end';\n var PLACEMENT_BOTTOM = 'bottom-start';\n var PLACEMENT_BOTTOMEND = 'bottom-end';\n var PLACEMENT_RIGHT = 'right-start';\n var PLACEMENT_LEFT = 'left-start';\n var Default$5 = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n };\n var DefaultType$5 = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n };\n /**\n * Class definition\n */\n\n var Dropdown = /*#__PURE__*/function () {\n function Dropdown(element, config) {\n this._element = element;\n this._popper = null;\n this._config = this._getConfig(config);\n this._menu = this._getMenuElement();\n this._inNavbar = this._detectNavbar();\n\n this._addEventListeners();\n } // Getters\n\n\n var _proto = Dropdown.prototype;\n\n // Public\n _proto.toggle = function toggle() {\n if (this._element.disabled || $__default[\"default\"](this._element).hasClass(CLASS_NAME_DISABLED$1)) {\n return;\n }\n\n var isActive = $__default[\"default\"](this._menu).hasClass(CLASS_NAME_SHOW$5);\n\n Dropdown._clearMenus();\n\n if (isActive) {\n return;\n }\n\n this.show(true);\n };\n\n _proto.show = function show(usePopper) {\n if (usePopper === void 0) {\n usePopper = false;\n }\n\n if (this._element.disabled || $__default[\"default\"](this._element).hasClass(CLASS_NAME_DISABLED$1) || $__default[\"default\"](this._menu).hasClass(CLASS_NAME_SHOW$5)) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n var showEvent = $__default[\"default\"].Event(EVENT_SHOW$3, relatedTarget);\n\n var parent = Dropdown._getParentFromElement(this._element);\n\n $__default[\"default\"](parent).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented()) {\n return;\n } // Totally disable Popper for Dropdowns in Navbar\n\n\n if (!this._inNavbar && usePopper) {\n // Check for Popper dependency\n if (typeof Popper__default[\"default\"] === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)');\n }\n\n var referenceElement = this._element;\n\n if (this._config.reference === 'parent') {\n referenceElement = parent;\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference; // Check if it's jQuery element\n\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0];\n }\n } // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n\n\n if (this._config.boundary !== 'scrollParent') {\n $__default[\"default\"](parent).addClass(CLASS_NAME_POSITION_STATIC);\n }\n\n this._popper = new Popper__default[\"default\"](referenceElement, this._menu, this._getPopperConfig());\n } // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n\n if ('ontouchstart' in document.documentElement && $__default[\"default\"](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $__default[\"default\"](document.body).children().on('mouseover', null, $__default[\"default\"].noop);\n }\n\n this._element.focus();\n\n this._element.setAttribute('aria-expanded', true);\n\n $__default[\"default\"](this._menu).toggleClass(CLASS_NAME_SHOW$5);\n $__default[\"default\"](parent).toggleClass(CLASS_NAME_SHOW$5).trigger($__default[\"default\"].Event(EVENT_SHOWN$3, relatedTarget));\n };\n\n _proto.hide = function hide() {\n if (this._element.disabled || $__default[\"default\"](this._element).hasClass(CLASS_NAME_DISABLED$1) || !$__default[\"default\"](this._menu).hasClass(CLASS_NAME_SHOW$5)) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n var hideEvent = $__default[\"default\"].Event(EVENT_HIDE$3, relatedTarget);\n\n var parent = Dropdown._getParentFromElement(this._element);\n\n $__default[\"default\"](parent).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n $__default[\"default\"](this._menu).toggleClass(CLASS_NAME_SHOW$5);\n $__default[\"default\"](parent).toggleClass(CLASS_NAME_SHOW$5).trigger($__default[\"default\"].Event(EVENT_HIDDEN$3, relatedTarget));\n };\n\n _proto.dispose = function dispose() {\n $__default[\"default\"].removeData(this._element, DATA_KEY$6);\n $__default[\"default\"](this._element).off(EVENT_KEY$6);\n this._element = null;\n this._menu = null;\n\n if (this._popper !== null) {\n this._popper.destroy();\n\n this._popper = null;\n }\n };\n\n _proto.update = function update() {\n this._inNavbar = this._detectNavbar();\n\n if (this._popper !== null) {\n this._popper.scheduleUpdate();\n }\n } // Private\n ;\n\n _proto._addEventListeners = function _addEventListeners() {\n var _this = this;\n\n $__default[\"default\"](this._element).on(EVENT_CLICK, function (event) {\n event.preventDefault();\n event.stopPropagation();\n\n _this.toggle();\n });\n };\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, this.constructor.Default, $__default[\"default\"](this._element).data(), config);\n Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);\n return config;\n };\n\n _proto._getMenuElement = function _getMenuElement() {\n if (!this._menu) {\n var parent = Dropdown._getParentFromElement(this._element);\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU);\n }\n }\n\n return this._menu;\n };\n\n _proto._getPlacement = function _getPlacement() {\n var $parentDropdown = $__default[\"default\"](this._element.parentNode);\n var placement = PLACEMENT_BOTTOM; // Handle dropup\n\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $__default[\"default\"](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP;\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT;\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT;\n } else if ($__default[\"default\"](this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND;\n }\n\n return placement;\n };\n\n _proto._detectNavbar = function _detectNavbar() {\n return $__default[\"default\"](this._element).closest('.navbar').length > 0;\n };\n\n _proto._getOffset = function _getOffset() {\n var _this2 = this;\n\n var offset = {};\n\n if (typeof this._config.offset === 'function') {\n offset.fn = function (data) {\n data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element));\n return data;\n };\n } else {\n offset.offset = this._config.offset;\n }\n\n return offset;\n };\n\n _proto._getPopperConfig = function _getPopperConfig() {\n var popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }; // Disable Popper if we have a static display\n\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n };\n }\n\n return _extends({}, popperConfig, this._config.popperConfig);\n } // Static\n ;\n\n Dropdown._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $__default[\"default\"](this).data(DATA_KEY$6);\n\n var _config = typeof config === 'object' ? config : null;\n\n if (!data) {\n data = new Dropdown(this, _config);\n $__default[\"default\"](this).data(DATA_KEY$6, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n Dropdown._clearMenus = function _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return;\n }\n\n var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$2));\n\n for (var i = 0, len = toggles.length; i < len; i++) {\n var parent = Dropdown._getParentFromElement(toggles[i]);\n\n var context = $__default[\"default\"](toggles[i]).data(DATA_KEY$6);\n var relatedTarget = {\n relatedTarget: toggles[i]\n };\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n\n if (!context) {\n continue;\n }\n\n var dropdownMenu = context._menu;\n\n if (!$__default[\"default\"](parent).hasClass(CLASS_NAME_SHOW$5)) {\n continue;\n }\n\n if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $__default[\"default\"].contains(parent, event.target)) {\n continue;\n }\n\n var hideEvent = $__default[\"default\"].Event(EVENT_HIDE$3, relatedTarget);\n $__default[\"default\"](parent).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n continue;\n } // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n\n if ('ontouchstart' in document.documentElement) {\n $__default[\"default\"](document.body).children().off('mouseover', null, $__default[\"default\"].noop);\n }\n\n toggles[i].setAttribute('aria-expanded', 'false');\n\n if (context._popper) {\n context._popper.destroy();\n }\n\n $__default[\"default\"](dropdownMenu).removeClass(CLASS_NAME_SHOW$5);\n $__default[\"default\"](parent).removeClass(CLASS_NAME_SHOW$5).trigger($__default[\"default\"].Event(EVENT_HIDDEN$3, relatedTarget));\n }\n };\n\n Dropdown._getParentFromElement = function _getParentFromElement(element) {\n var parent;\n var selector = Util.getSelectorFromElement(element);\n\n if (selector) {\n parent = document.querySelector(selector);\n }\n\n return parent || element.parentNode;\n } // eslint-disable-next-line complexity\n ;\n\n Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE$1 && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $__default[\"default\"](event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return;\n }\n\n if (this.disabled || $__default[\"default\"](this).hasClass(CLASS_NAME_DISABLED$1)) {\n return;\n }\n\n var parent = Dropdown._getParentFromElement(this);\n\n var isActive = $__default[\"default\"](parent).hasClass(CLASS_NAME_SHOW$5);\n\n if (!isActive && event.which === ESCAPE_KEYCODE$1) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if (!isActive || event.which === ESCAPE_KEYCODE$1 || event.which === SPACE_KEYCODE) {\n if (event.which === ESCAPE_KEYCODE$1) {\n $__default[\"default\"](parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus');\n }\n\n $__default[\"default\"](this).trigger('click');\n return;\n }\n\n var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) {\n return $__default[\"default\"](item).is(':visible');\n });\n\n if (items.length === 0) {\n return;\n }\n\n var index = items.indexOf(event.target);\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) {\n // Up\n index--;\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {\n // Down\n index++;\n }\n\n if (index < 0) {\n index = 0;\n }\n\n items[index].focus();\n };\n\n _createClass(Dropdown, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$6;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$5;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$5;\n }\n }]);\n\n return Dropdown;\n }();\n /**\n * Data API implementation\n */\n\n\n $__default[\"default\"](document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API$2 + \" \" + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {\n event.preventDefault();\n event.stopPropagation();\n\n Dropdown._jQueryInterface.call($__default[\"default\"](this), 'toggle');\n }).on(EVENT_CLICK_DATA_API$2, SELECTOR_FORM_CHILD, function (e) {\n e.stopPropagation();\n });\n /**\n * jQuery\n */\n\n $__default[\"default\"].fn[NAME$6] = Dropdown._jQueryInterface;\n $__default[\"default\"].fn[NAME$6].Constructor = Dropdown;\n\n $__default[\"default\"].fn[NAME$6].noConflict = function () {\n $__default[\"default\"].fn[NAME$6] = JQUERY_NO_CONFLICT$6;\n return Dropdown._jQueryInterface;\n };\n\n /**\n * Constants\n */\n\n var NAME$5 = 'modal';\n var VERSION$5 = '4.6.2';\n var DATA_KEY$5 = 'bs.modal';\n var EVENT_KEY$5 = \".\" + DATA_KEY$5;\n var DATA_API_KEY$2 = '.data-api';\n var JQUERY_NO_CONFLICT$5 = $__default[\"default\"].fn[NAME$5];\n var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key\n\n var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';\n var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';\n var CLASS_NAME_BACKDROP = 'modal-backdrop';\n var CLASS_NAME_OPEN = 'modal-open';\n var CLASS_NAME_FADE$4 = 'fade';\n var CLASS_NAME_SHOW$4 = 'show';\n var CLASS_NAME_STATIC = 'modal-static';\n var EVENT_HIDE$2 = \"hide\" + EVENT_KEY$5;\n var EVENT_HIDE_PREVENTED = \"hidePrevented\" + EVENT_KEY$5;\n var EVENT_HIDDEN$2 = \"hidden\" + EVENT_KEY$5;\n var EVENT_SHOW$2 = \"show\" + EVENT_KEY$5;\n var EVENT_SHOWN$2 = \"shown\" + EVENT_KEY$5;\n var EVENT_FOCUSIN = \"focusin\" + EVENT_KEY$5;\n var EVENT_RESIZE = \"resize\" + EVENT_KEY$5;\n var EVENT_CLICK_DISMISS$1 = \"click.dismiss\" + EVENT_KEY$5;\n var EVENT_KEYDOWN_DISMISS = \"keydown.dismiss\" + EVENT_KEY$5;\n var EVENT_MOUSEUP_DISMISS = \"mouseup.dismiss\" + EVENT_KEY$5;\n var EVENT_MOUSEDOWN_DISMISS = \"mousedown.dismiss\" + EVENT_KEY$5;\n var EVENT_CLICK_DATA_API$1 = \"click\" + EVENT_KEY$5 + DATA_API_KEY$2;\n var SELECTOR_DIALOG = '.modal-dialog';\n var SELECTOR_MODAL_BODY = '.modal-body';\n var SELECTOR_DATA_TOGGLE$1 = '[data-toggle=\"modal\"]';\n var SELECTOR_DATA_DISMISS$1 = '[data-dismiss=\"modal\"]';\n var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\n var SELECTOR_STICKY_CONTENT = '.sticky-top';\n var Default$4 = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n };\n var DefaultType$4 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n };\n /**\n * Class definition\n */\n\n var Modal = /*#__PURE__*/function () {\n function Modal(element, config) {\n this._config = this._getConfig(config);\n this._element = element;\n this._dialog = element.querySelector(SELECTOR_DIALOG);\n this._backdrop = null;\n this._isShown = false;\n this._isBodyOverflowing = false;\n this._ignoreBackdropClick = false;\n this._isTransitioning = false;\n this._scrollbarWidth = 0;\n } // Getters\n\n\n var _proto = Modal.prototype;\n\n // Public\n _proto.toggle = function toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n };\n\n _proto.show = function show(relatedTarget) {\n var _this = this;\n\n if (this._isShown || this._isTransitioning) {\n return;\n }\n\n var showEvent = $__default[\"default\"].Event(EVENT_SHOW$2, {\n relatedTarget: relatedTarget\n });\n $__default[\"default\"](this._element).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = true;\n\n if ($__default[\"default\"](this._element).hasClass(CLASS_NAME_FADE$4)) {\n this._isTransitioning = true;\n }\n\n this._checkScrollbar();\n\n this._setScrollbar();\n\n this._adjustDialog();\n\n this._setEscapeEvent();\n\n this._setResizeEvent();\n\n $__default[\"default\"](this._element).on(EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, function (event) {\n return _this.hide(event);\n });\n $__default[\"default\"](this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () {\n $__default[\"default\"](_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) {\n if ($__default[\"default\"](event.target).is(_this._element)) {\n _this._ignoreBackdropClick = true;\n }\n });\n });\n\n this._showBackdrop(function () {\n return _this._showElement(relatedTarget);\n });\n };\n\n _proto.hide = function hide(event) {\n var _this2 = this;\n\n if (event) {\n event.preventDefault();\n }\n\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n\n var hideEvent = $__default[\"default\"].Event(EVENT_HIDE$2);\n $__default[\"default\"](this._element).trigger(hideEvent);\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = false;\n var transition = $__default[\"default\"](this._element).hasClass(CLASS_NAME_FADE$4);\n\n if (transition) {\n this._isTransitioning = true;\n }\n\n this._setEscapeEvent();\n\n this._setResizeEvent();\n\n $__default[\"default\"](document).off(EVENT_FOCUSIN);\n $__default[\"default\"](this._element).removeClass(CLASS_NAME_SHOW$4);\n $__default[\"default\"](this._element).off(EVENT_CLICK_DISMISS$1);\n $__default[\"default\"](this._dialog).off(EVENT_MOUSEDOWN_DISMISS);\n\n if (transition) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $__default[\"default\"](this._element).one(Util.TRANSITION_END, function (event) {\n return _this2._hideModal(event);\n }).emulateTransitionEnd(transitionDuration);\n } else {\n this._hideModal();\n }\n };\n\n _proto.dispose = function dispose() {\n [window, this._element, this._dialog].forEach(function (htmlElement) {\n return $__default[\"default\"](htmlElement).off(EVENT_KEY$5);\n });\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n\n $__default[\"default\"](document).off(EVENT_FOCUSIN);\n $__default[\"default\"].removeData(this._element, DATA_KEY$5);\n this._config = null;\n this._element = null;\n this._dialog = null;\n this._backdrop = null;\n this._isShown = null;\n this._isBodyOverflowing = null;\n this._ignoreBackdropClick = null;\n this._isTransitioning = null;\n this._scrollbarWidth = null;\n };\n\n _proto.handleUpdate = function handleUpdate() {\n this._adjustDialog();\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, Default$4, config);\n Util.typeCheckConfig(NAME$5, config, DefaultType$4);\n return config;\n };\n\n _proto._triggerBackdropTransition = function _triggerBackdropTransition() {\n var _this3 = this;\n\n var hideEventPrevented = $__default[\"default\"].Event(EVENT_HIDE_PREVENTED);\n $__default[\"default\"](this._element).trigger(hideEventPrevented);\n\n if (hideEventPrevented.isDefaultPrevented()) {\n return;\n }\n\n var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden';\n }\n\n this._element.classList.add(CLASS_NAME_STATIC);\n\n var modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog);\n $__default[\"default\"](this._element).off(Util.TRANSITION_END);\n $__default[\"default\"](this._element).one(Util.TRANSITION_END, function () {\n _this3._element.classList.remove(CLASS_NAME_STATIC);\n\n if (!isModalOverflowing) {\n $__default[\"default\"](_this3._element).one(Util.TRANSITION_END, function () {\n _this3._element.style.overflowY = '';\n }).emulateTransitionEnd(_this3._element, modalTransitionDuration);\n }\n }).emulateTransitionEnd(modalTransitionDuration);\n\n this._element.focus();\n };\n\n _proto._showElement = function _showElement(relatedTarget) {\n var _this4 = this;\n\n var transition = $__default[\"default\"](this._element).hasClass(CLASS_NAME_FADE$4);\n var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element);\n }\n\n this._element.style.display = 'block';\n\n this._element.removeAttribute('aria-hidden');\n\n this._element.setAttribute('aria-modal', true);\n\n this._element.setAttribute('role', 'dialog');\n\n if ($__default[\"default\"](this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0;\n } else {\n this._element.scrollTop = 0;\n }\n\n if (transition) {\n Util.reflow(this._element);\n }\n\n $__default[\"default\"](this._element).addClass(CLASS_NAME_SHOW$4);\n\n if (this._config.focus) {\n this._enforceFocus();\n }\n\n var shownEvent = $__default[\"default\"].Event(EVENT_SHOWN$2, {\n relatedTarget: relatedTarget\n });\n\n var transitionComplete = function transitionComplete() {\n if (_this4._config.focus) {\n _this4._element.focus();\n }\n\n _this4._isTransitioning = false;\n $__default[\"default\"](_this4._element).trigger(shownEvent);\n };\n\n if (transition) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);\n $__default[\"default\"](this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);\n } else {\n transitionComplete();\n }\n };\n\n _proto._enforceFocus = function _enforceFocus() {\n var _this5 = this;\n\n $__default[\"default\"](document).off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, function (event) {\n if (document !== event.target && _this5._element !== event.target && $__default[\"default\"](_this5._element).has(event.target).length === 0) {\n _this5._element.focus();\n }\n });\n };\n\n _proto._setEscapeEvent = function _setEscapeEvent() {\n var _this6 = this;\n\n if (this._isShown) {\n $__default[\"default\"](this._element).on(EVENT_KEYDOWN_DISMISS, function (event) {\n if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault();\n\n _this6.hide();\n } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {\n _this6._triggerBackdropTransition();\n }\n });\n } else if (!this._isShown) {\n $__default[\"default\"](this._element).off(EVENT_KEYDOWN_DISMISS);\n }\n };\n\n _proto._setResizeEvent = function _setResizeEvent() {\n var _this7 = this;\n\n if (this._isShown) {\n $__default[\"default\"](window).on(EVENT_RESIZE, function (event) {\n return _this7.handleUpdate(event);\n });\n } else {\n $__default[\"default\"](window).off(EVENT_RESIZE);\n }\n };\n\n _proto._hideModal = function _hideModal() {\n var _this8 = this;\n\n this._element.style.display = 'none';\n\n this._element.setAttribute('aria-hidden', true);\n\n this._element.removeAttribute('aria-modal');\n\n this._element.removeAttribute('role');\n\n this._isTransitioning = false;\n\n this._showBackdrop(function () {\n $__default[\"default\"](document.body).removeClass(CLASS_NAME_OPEN);\n\n _this8._resetAdjustments();\n\n _this8._resetScrollbar();\n\n $__default[\"default\"](_this8._element).trigger(EVENT_HIDDEN$2);\n });\n };\n\n _proto._removeBackdrop = function _removeBackdrop() {\n if (this._backdrop) {\n $__default[\"default\"](this._backdrop).remove();\n this._backdrop = null;\n }\n };\n\n _proto._showBackdrop = function _showBackdrop(callback) {\n var _this9 = this;\n\n var animate = $__default[\"default\"](this._element).hasClass(CLASS_NAME_FADE$4) ? CLASS_NAME_FADE$4 : '';\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div');\n this._backdrop.className = CLASS_NAME_BACKDROP;\n\n if (animate) {\n this._backdrop.classList.add(animate);\n }\n\n $__default[\"default\"](this._backdrop).appendTo(document.body);\n $__default[\"default\"](this._element).on(EVENT_CLICK_DISMISS$1, function (event) {\n if (_this9._ignoreBackdropClick) {\n _this9._ignoreBackdropClick = false;\n return;\n }\n\n if (event.target !== event.currentTarget) {\n return;\n }\n\n if (_this9._config.backdrop === 'static') {\n _this9._triggerBackdropTransition();\n } else {\n _this9.hide();\n }\n });\n\n if (animate) {\n Util.reflow(this._backdrop);\n }\n\n $__default[\"default\"](this._backdrop).addClass(CLASS_NAME_SHOW$4);\n\n if (!callback) {\n return;\n }\n\n if (!animate) {\n callback();\n return;\n }\n\n var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\n $__default[\"default\"](this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);\n } else if (!this._isShown && this._backdrop) {\n $__default[\"default\"](this._backdrop).removeClass(CLASS_NAME_SHOW$4);\n\n var callbackRemove = function callbackRemove() {\n _this9._removeBackdrop();\n\n if (callback) {\n callback();\n }\n };\n\n if ($__default[\"default\"](this._element).hasClass(CLASS_NAME_FADE$4)) {\n var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\n\n $__default[\"default\"](this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);\n } else {\n callbackRemove();\n }\n } else if (callback) {\n callback();\n }\n } // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n ;\n\n _proto._adjustDialog = function _adjustDialog() {\n var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = this._scrollbarWidth + \"px\";\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = this._scrollbarWidth + \"px\";\n }\n };\n\n _proto._resetAdjustments = function _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n };\n\n _proto._checkScrollbar = function _checkScrollbar() {\n var rect = document.body.getBoundingClientRect();\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;\n this._scrollbarWidth = this._getScrollbarWidth();\n };\n\n _proto._setScrollbar = function _setScrollbar() {\n var _this10 = this;\n\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));\n var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding\n\n $__default[\"default\"](fixedContent).each(function (index, element) {\n var actualPadding = element.style.paddingRight;\n var calculatedPadding = $__default[\"default\"](element).css('padding-right');\n $__default[\"default\"](element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + \"px\");\n }); // Adjust sticky content margin\n\n $__default[\"default\"](stickyContent).each(function (index, element) {\n var actualMargin = element.style.marginRight;\n var calculatedMargin = $__default[\"default\"](element).css('margin-right');\n $__default[\"default\"](element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + \"px\");\n }); // Adjust body padding\n\n var actualPadding = document.body.style.paddingRight;\n var calculatedPadding = $__default[\"default\"](document.body).css('padding-right');\n $__default[\"default\"](document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + \"px\");\n }\n\n $__default[\"default\"](document.body).addClass(CLASS_NAME_OPEN);\n };\n\n _proto._resetScrollbar = function _resetScrollbar() {\n // Restore fixed content padding\n var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));\n $__default[\"default\"](fixedContent).each(function (index, element) {\n var padding = $__default[\"default\"](element).data('padding-right');\n $__default[\"default\"](element).removeData('padding-right');\n element.style.paddingRight = padding ? padding : '';\n }); // Restore sticky content\n\n var elements = [].slice.call(document.querySelectorAll(\"\" + SELECTOR_STICKY_CONTENT));\n $__default[\"default\"](elements).each(function (index, element) {\n var margin = $__default[\"default\"](element).data('margin-right');\n\n if (typeof margin !== 'undefined') {\n $__default[\"default\"](element).css('margin-right', margin).removeData('margin-right');\n }\n }); // Restore body padding\n\n var padding = $__default[\"default\"](document.body).data('padding-right');\n $__default[\"default\"](document.body).removeData('padding-right');\n document.body.style.paddingRight = padding ? padding : '';\n };\n\n _proto._getScrollbarWidth = function _getScrollbarWidth() {\n // thx d.walsh\n var scrollDiv = document.createElement('div');\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n } // Static\n ;\n\n Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n var data = $__default[\"default\"](this).data(DATA_KEY$5);\n\n var _config = _extends({}, Default$4, $__default[\"default\"](this).data(), typeof config === 'object' && config ? config : {});\n\n if (!data) {\n data = new Modal(this, _config);\n $__default[\"default\"](this).data(DATA_KEY$5, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config](relatedTarget);\n } else if (_config.show) {\n data.show(relatedTarget);\n }\n });\n };\n\n _createClass(Modal, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$5;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$4;\n }\n }]);\n\n return Modal;\n }();\n /**\n * Data API implementation\n */\n\n\n $__default[\"default\"](document).on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {\n var _this11 = this;\n\n var target;\n var selector = Util.getSelectorFromElement(this);\n\n if (selector) {\n target = document.querySelector(selector);\n }\n\n var config = $__default[\"default\"](target).data(DATA_KEY$5) ? 'toggle' : _extends({}, $__default[\"default\"](target).data(), $__default[\"default\"](this).data());\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault();\n }\n\n var $target = $__default[\"default\"](target).one(EVENT_SHOW$2, function (showEvent) {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return;\n }\n\n $target.one(EVENT_HIDDEN$2, function () {\n if ($__default[\"default\"](_this11).is(':visible')) {\n _this11.focus();\n }\n });\n });\n\n Modal._jQueryInterface.call($__default[\"default\"](target), config, this);\n });\n /**\n * jQuery\n */\n\n $__default[\"default\"].fn[NAME$5] = Modal._jQueryInterface;\n $__default[\"default\"].fn[NAME$5].Constructor = Modal;\n\n $__default[\"default\"].fn[NAME$5].noConflict = function () {\n $__default[\"default\"].fn[NAME$5] = JQUERY_NO_CONFLICT$5;\n return Modal._jQueryInterface;\n };\n\n /**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.2): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];\n var ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n var DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n };\n /**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\n var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;\n /**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\n var DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i;\n\n function allowedAttribute(attr, allowedAttributeList) {\n var attrName = attr.nodeName.toLowerCase();\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue));\n }\n\n return true;\n }\n\n var regExp = allowedAttributeList.filter(function (attrRegex) {\n return attrRegex instanceof RegExp;\n }); // Check if a regular expression validates the attribute.\n\n for (var i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attrName)) {\n return true;\n }\n }\n\n return false;\n }\n\n function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml;\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml);\n }\n\n var domParser = new window.DOMParser();\n var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n var whitelistKeys = Object.keys(whiteList);\n var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));\n\n var _loop = function _loop(i, len) {\n var el = elements[i];\n var elName = el.nodeName.toLowerCase();\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el);\n return \"continue\";\n }\n\n var attributeList = [].slice.call(el.attributes); // eslint-disable-next-line unicorn/prefer-spread\n\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\n attributeList.forEach(function (attr) {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName);\n }\n });\n };\n\n for (var i = 0, len = elements.length; i < len; i++) {\n var _ret = _loop(i);\n\n if (_ret === \"continue\") continue;\n }\n\n return createdDocument.body.innerHTML;\n }\n\n /**\n * Constants\n */\n\n var NAME$4 = 'tooltip';\n var VERSION$4 = '4.6.2';\n var DATA_KEY$4 = 'bs.tooltip';\n var EVENT_KEY$4 = \".\" + DATA_KEY$4;\n var JQUERY_NO_CONFLICT$4 = $__default[\"default\"].fn[NAME$4];\n var CLASS_PREFIX$1 = 'bs-tooltip';\n var BSCLS_PREFIX_REGEX$1 = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX$1 + \"\\\\S+\", 'g');\n var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\n var CLASS_NAME_FADE$3 = 'fade';\n var CLASS_NAME_SHOW$3 = 'show';\n var HOVER_STATE_SHOW = 'show';\n var HOVER_STATE_OUT = 'out';\n var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\n var SELECTOR_ARROW = '.arrow';\n var TRIGGER_HOVER = 'hover';\n var TRIGGER_FOCUS = 'focus';\n var TRIGGER_CLICK = 'click';\n var TRIGGER_MANUAL = 'manual';\n var AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n };\n var Default$3 = {\n animation: true,\n template: '
    ' + '
    ' + '
    ',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n };\n var DefaultType$3 = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n };\n var Event$1 = {\n HIDE: \"hide\" + EVENT_KEY$4,\n HIDDEN: \"hidden\" + EVENT_KEY$4,\n SHOW: \"show\" + EVENT_KEY$4,\n SHOWN: \"shown\" + EVENT_KEY$4,\n INSERTED: \"inserted\" + EVENT_KEY$4,\n CLICK: \"click\" + EVENT_KEY$4,\n FOCUSIN: \"focusin\" + EVENT_KEY$4,\n FOCUSOUT: \"focusout\" + EVENT_KEY$4,\n MOUSEENTER: \"mouseenter\" + EVENT_KEY$4,\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY$4\n };\n /**\n * Class definition\n */\n\n var Tooltip = /*#__PURE__*/function () {\n function Tooltip(element, config) {\n if (typeof Popper__default[\"default\"] === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)');\n } // Private\n\n\n this._isEnabled = true;\n this._timeout = 0;\n this._hoverState = '';\n this._activeTrigger = {};\n this._popper = null; // Protected\n\n this.element = element;\n this.config = this._getConfig(config);\n this.tip = null;\n\n this._setListeners();\n } // Getters\n\n\n var _proto = Tooltip.prototype;\n\n // Public\n _proto.enable = function enable() {\n this._isEnabled = true;\n };\n\n _proto.disable = function disable() {\n this._isEnabled = false;\n };\n\n _proto.toggleEnabled = function toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n };\n\n _proto.toggle = function toggle(event) {\n if (!this._isEnabled) {\n return;\n }\n\n if (event) {\n var dataKey = this.constructor.DATA_KEY;\n var context = $__default[\"default\"](event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $__default[\"default\"](event.currentTarget).data(dataKey, context);\n }\n\n context._activeTrigger.click = !context._activeTrigger.click;\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context);\n } else {\n context._leave(null, context);\n }\n } else {\n if ($__default[\"default\"](this.getTipElement()).hasClass(CLASS_NAME_SHOW$3)) {\n this._leave(null, this);\n\n return;\n }\n\n this._enter(null, this);\n }\n };\n\n _proto.dispose = function dispose() {\n clearTimeout(this._timeout);\n $__default[\"default\"].removeData(this.element, this.constructor.DATA_KEY);\n $__default[\"default\"](this.element).off(this.constructor.EVENT_KEY);\n $__default[\"default\"](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);\n\n if (this.tip) {\n $__default[\"default\"](this.tip).remove();\n }\n\n this._isEnabled = null;\n this._timeout = null;\n this._hoverState = null;\n this._activeTrigger = null;\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n this._popper = null;\n this.element = null;\n this.config = null;\n this.tip = null;\n };\n\n _proto.show = function show() {\n var _this = this;\n\n if ($__default[\"default\"](this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements');\n }\n\n var showEvent = $__default[\"default\"].Event(this.constructor.Event.SHOW);\n\n if (this.isWithContent() && this._isEnabled) {\n $__default[\"default\"](this.element).trigger(showEvent);\n var shadowRoot = Util.findShadowRoot(this.element);\n var isInTheDom = $__default[\"default\"].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return;\n }\n\n var tip = this.getTipElement();\n var tipId = Util.getUID(this.constructor.NAME);\n tip.setAttribute('id', tipId);\n this.element.setAttribute('aria-describedby', tipId);\n this.setContent();\n\n if (this.config.animation) {\n $__default[\"default\"](tip).addClass(CLASS_NAME_FADE$3);\n }\n\n var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;\n\n var attachment = this._getAttachment(placement);\n\n this.addAttachmentClass(attachment);\n\n var container = this._getContainer();\n\n $__default[\"default\"](tip).data(this.constructor.DATA_KEY, this);\n\n if (!$__default[\"default\"].contains(this.element.ownerDocument.documentElement, this.tip)) {\n $__default[\"default\"](tip).appendTo(container);\n }\n\n $__default[\"default\"](this.element).trigger(this.constructor.Event.INSERTED);\n this._popper = new Popper__default[\"default\"](this.element, tip, this._getPopperConfig(attachment));\n $__default[\"default\"](tip).addClass(CLASS_NAME_SHOW$3);\n $__default[\"default\"](tip).addClass(this.config.customClass); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n if ('ontouchstart' in document.documentElement) {\n $__default[\"default\"](document.body).children().on('mouseover', null, $__default[\"default\"].noop);\n }\n\n var complete = function complete() {\n if (_this.config.animation) {\n _this._fixTransition();\n }\n\n var prevHoverState = _this._hoverState;\n _this._hoverState = null;\n $__default[\"default\"](_this.element).trigger(_this.constructor.Event.SHOWN);\n\n if (prevHoverState === HOVER_STATE_OUT) {\n _this._leave(null, _this);\n }\n };\n\n if ($__default[\"default\"](this.tip).hasClass(CLASS_NAME_FADE$3)) {\n var transitionDuration = Util.getTransitionDurationFromElement(this.tip);\n $__default[\"default\"](this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n }\n };\n\n _proto.hide = function hide(callback) {\n var _this2 = this;\n\n var tip = this.getTipElement();\n var hideEvent = $__default[\"default\"].Event(this.constructor.Event.HIDE);\n\n var complete = function complete() {\n if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip);\n }\n\n _this2._cleanTipClass();\n\n _this2.element.removeAttribute('aria-describedby');\n\n $__default[\"default\"](_this2.element).trigger(_this2.constructor.Event.HIDDEN);\n\n if (_this2._popper !== null) {\n _this2._popper.destroy();\n }\n\n if (callback) {\n callback();\n }\n };\n\n $__default[\"default\"](this.element).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n $__default[\"default\"](tip).removeClass(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n if ('ontouchstart' in document.documentElement) {\n $__default[\"default\"](document.body).children().off('mouseover', null, $__default[\"default\"].noop);\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n\n if ($__default[\"default\"](this.tip).hasClass(CLASS_NAME_FADE$3)) {\n var transitionDuration = Util.getTransitionDurationFromElement(tip);\n $__default[\"default\"](tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n\n this._hoverState = '';\n };\n\n _proto.update = function update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate();\n }\n } // Protected\n ;\n\n _proto.isWithContent = function isWithContent() {\n return Boolean(this.getTitle());\n };\n\n _proto.addAttachmentClass = function addAttachmentClass(attachment) {\n $__default[\"default\"](this.getTipElement()).addClass(CLASS_PREFIX$1 + \"-\" + attachment);\n };\n\n _proto.getTipElement = function getTipElement() {\n this.tip = this.tip || $__default[\"default\"](this.config.template)[0];\n return this.tip;\n };\n\n _proto.setContent = function setContent() {\n var tip = this.getTipElement();\n this.setElementContent($__default[\"default\"](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());\n $__default[\"default\"](tip).removeClass(CLASS_NAME_FADE$3 + \" \" + CLASS_NAME_SHOW$3);\n };\n\n _proto.setElementContent = function setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$__default[\"default\"](content).parent().is($element)) {\n $element.empty().append(content);\n }\n } else {\n $element.text($__default[\"default\"](content).text());\n }\n\n return;\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);\n }\n\n $element.html(content);\n } else {\n $element.text(content);\n }\n };\n\n _proto.getTitle = function getTitle() {\n var title = this.element.getAttribute('data-original-title');\n\n if (!title) {\n title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;\n }\n\n return title;\n } // Private\n ;\n\n _proto._getPopperConfig = function _getPopperConfig(attachment) {\n var _this3 = this;\n\n var defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: function onCreate(data) {\n if (data.originalPlacement !== data.placement) {\n _this3._handlePopperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n return _this3._handlePopperPlacementChange(data);\n }\n };\n return _extends({}, defaultBsConfig, this.config.popperConfig);\n };\n\n _proto._getOffset = function _getOffset() {\n var _this4 = this;\n\n var offset = {};\n\n if (typeof this.config.offset === 'function') {\n offset.fn = function (data) {\n data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element));\n return data;\n };\n } else {\n offset.offset = this.config.offset;\n }\n\n return offset;\n };\n\n _proto._getContainer = function _getContainer() {\n if (this.config.container === false) {\n return document.body;\n }\n\n if (Util.isElement(this.config.container)) {\n return $__default[\"default\"](this.config.container);\n }\n\n return $__default[\"default\"](document).find(this.config.container);\n };\n\n _proto._getAttachment = function _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()];\n };\n\n _proto._setListeners = function _setListeners() {\n var _this5 = this;\n\n var triggers = this.config.trigger.split(' ');\n triggers.forEach(function (trigger) {\n if (trigger === 'click') {\n $__default[\"default\"](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) {\n return _this5.toggle(event);\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;\n var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;\n $__default[\"default\"](_this5.element).on(eventIn, _this5.config.selector, function (event) {\n return _this5._enter(event);\n }).on(eventOut, _this5.config.selector, function (event) {\n return _this5._leave(event);\n });\n }\n });\n\n this._hideModalHandler = function () {\n if (_this5.element) {\n _this5.hide();\n }\n };\n\n $__default[\"default\"](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);\n\n if (this.config.selector) {\n this.config = _extends({}, this.config, {\n trigger: 'manual',\n selector: ''\n });\n } else {\n this._fixTitle();\n }\n };\n\n _proto._fixTitle = function _fixTitle() {\n var titleType = typeof this.element.getAttribute('data-original-title');\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');\n this.element.setAttribute('title', '');\n }\n };\n\n _proto._enter = function _enter(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n context = context || $__default[\"default\"](event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $__default[\"default\"](event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n }\n\n if ($__default[\"default\"](context.getTipElement()).hasClass(CLASS_NAME_SHOW$3) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW;\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HOVER_STATE_SHOW;\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show();\n }\n }, context.config.delay.show);\n };\n\n _proto._leave = function _leave(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n context = context || $__default[\"default\"](event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $__default[\"default\"](event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;\n }\n\n if (context._isWithActiveTrigger()) {\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HOVER_STATE_OUT;\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide();\n }\n }, context.config.delay.hide);\n };\n\n _proto._isWithActiveTrigger = function _isWithActiveTrigger() {\n for (var trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n };\n\n _proto._getConfig = function _getConfig(config) {\n var dataAttributes = $__default[\"default\"](this.element).data();\n Object.keys(dataAttributes).forEach(function (dataAttr) {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr];\n }\n });\n config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n\n Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);\n }\n\n return config;\n };\n\n _proto._getDelegateConfig = function _getDelegateConfig() {\n var config = {};\n\n if (this.config) {\n for (var key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key];\n }\n }\n }\n\n return config;\n };\n\n _proto._cleanTipClass = function _cleanTipClass() {\n var $tip = $__default[\"default\"](this.getTipElement());\n var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1);\n\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''));\n }\n };\n\n _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper;\n\n this._cleanTipClass();\n\n this.addAttachmentClass(this._getAttachment(popperData.placement));\n };\n\n _proto._fixTransition = function _fixTransition() {\n var tip = this.getTipElement();\n var initConfigAnimation = this.config.animation;\n\n if (tip.getAttribute('x-placement') !== null) {\n return;\n }\n\n $__default[\"default\"](tip).removeClass(CLASS_NAME_FADE$3);\n this.config.animation = false;\n this.hide();\n this.show();\n this.config.animation = initConfigAnimation;\n } // Static\n ;\n\n Tooltip._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $__default[\"default\"](this);\n var data = $element.data(DATA_KEY$4);\n\n var _config = typeof config === 'object' && config;\n\n if (!data && /dispose|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Tooltip(this, _config);\n $element.data(DATA_KEY$4, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Tooltip, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$4;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$3;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$4;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return DATA_KEY$4;\n }\n }, {\n key: \"Event\",\n get: function get() {\n return Event$1;\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return EVENT_KEY$4;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$3;\n }\n }]);\n\n return Tooltip;\n }();\n /**\n * jQuery\n */\n\n\n $__default[\"default\"].fn[NAME$4] = Tooltip._jQueryInterface;\n $__default[\"default\"].fn[NAME$4].Constructor = Tooltip;\n\n $__default[\"default\"].fn[NAME$4].noConflict = function () {\n $__default[\"default\"].fn[NAME$4] = JQUERY_NO_CONFLICT$4;\n return Tooltip._jQueryInterface;\n };\n\n /**\n * Constants\n */\n\n var NAME$3 = 'popover';\n var VERSION$3 = '4.6.2';\n var DATA_KEY$3 = 'bs.popover';\n var EVENT_KEY$3 = \".\" + DATA_KEY$3;\n var JQUERY_NO_CONFLICT$3 = $__default[\"default\"].fn[NAME$3];\n var CLASS_PREFIX = 'bs-popover';\n var BSCLS_PREFIX_REGEX = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX + \"\\\\S+\", 'g');\n var CLASS_NAME_FADE$2 = 'fade';\n var CLASS_NAME_SHOW$2 = 'show';\n var SELECTOR_TITLE = '.popover-header';\n var SELECTOR_CONTENT = '.popover-body';\n\n var Default$2 = _extends({}, Tooltip.Default, {\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '
    ' + '
    ' + '

    ' + '
    '\n });\n\n var DefaultType$2 = _extends({}, Tooltip.DefaultType, {\n content: '(string|element|function)'\n });\n\n var Event = {\n HIDE: \"hide\" + EVENT_KEY$3,\n HIDDEN: \"hidden\" + EVENT_KEY$3,\n SHOW: \"show\" + EVENT_KEY$3,\n SHOWN: \"shown\" + EVENT_KEY$3,\n INSERTED: \"inserted\" + EVENT_KEY$3,\n CLICK: \"click\" + EVENT_KEY$3,\n FOCUSIN: \"focusin\" + EVENT_KEY$3,\n FOCUSOUT: \"focusout\" + EVENT_KEY$3,\n MOUSEENTER: \"mouseenter\" + EVENT_KEY$3,\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY$3\n };\n /**\n * Class definition\n */\n\n var Popover = /*#__PURE__*/function (_Tooltip) {\n _inheritsLoose(Popover, _Tooltip);\n\n function Popover() {\n return _Tooltip.apply(this, arguments) || this;\n }\n\n var _proto = Popover.prototype;\n\n // Overrides\n _proto.isWithContent = function isWithContent() {\n return this.getTitle() || this._getContent();\n };\n\n _proto.addAttachmentClass = function addAttachmentClass(attachment) {\n $__default[\"default\"](this.getTipElement()).addClass(CLASS_PREFIX + \"-\" + attachment);\n };\n\n _proto.getTipElement = function getTipElement() {\n this.tip = this.tip || $__default[\"default\"](this.config.template)[0];\n return this.tip;\n };\n\n _proto.setContent = function setContent() {\n var $tip = $__default[\"default\"](this.getTipElement()); // We use append for html objects to maintain js events\n\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());\n\n var content = this._getContent();\n\n if (typeof content === 'function') {\n content = content.call(this.element);\n }\n\n this.setElementContent($tip.find(SELECTOR_CONTENT), content);\n $tip.removeClass(CLASS_NAME_FADE$2 + \" \" + CLASS_NAME_SHOW$2);\n } // Private\n ;\n\n _proto._getContent = function _getContent() {\n return this.element.getAttribute('data-content') || this.config.content;\n };\n\n _proto._cleanTipClass = function _cleanTipClass() {\n var $tip = $__default[\"default\"](this.getTipElement());\n var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);\n\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''));\n }\n } // Static\n ;\n\n Popover._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $__default[\"default\"](this).data(DATA_KEY$3);\n\n var _config = typeof config === 'object' ? config : null;\n\n if (!data && /dispose|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Popover(this, _config);\n $__default[\"default\"](this).data(DATA_KEY$3, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Popover, null, [{\n key: \"VERSION\",\n get: // Getters\n function get() {\n return VERSION$3;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$2;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$3;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return DATA_KEY$3;\n }\n }, {\n key: \"Event\",\n get: function get() {\n return Event;\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return EVENT_KEY$3;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$2;\n }\n }]);\n\n return Popover;\n }(Tooltip);\n /**\n * jQuery\n */\n\n\n $__default[\"default\"].fn[NAME$3] = Popover._jQueryInterface;\n $__default[\"default\"].fn[NAME$3].Constructor = Popover;\n\n $__default[\"default\"].fn[NAME$3].noConflict = function () {\n $__default[\"default\"].fn[NAME$3] = JQUERY_NO_CONFLICT$3;\n return Popover._jQueryInterface;\n };\n\n /**\n * Constants\n */\n\n var NAME$2 = 'scrollspy';\n var VERSION$2 = '4.6.2';\n var DATA_KEY$2 = 'bs.scrollspy';\n var EVENT_KEY$2 = \".\" + DATA_KEY$2;\n var DATA_API_KEY$1 = '.data-api';\n var JQUERY_NO_CONFLICT$2 = $__default[\"default\"].fn[NAME$2];\n var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\n var CLASS_NAME_ACTIVE$1 = 'active';\n var EVENT_ACTIVATE = \"activate\" + EVENT_KEY$2;\n var EVENT_SCROLL = \"scroll\" + EVENT_KEY$2;\n var EVENT_LOAD_DATA_API = \"load\" + EVENT_KEY$2 + DATA_API_KEY$1;\n var METHOD_OFFSET = 'offset';\n var METHOD_POSITION = 'position';\n var SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]';\n var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';\n var SELECTOR_NAV_LINKS = '.nav-link';\n var SELECTOR_NAV_ITEMS = '.nav-item';\n var SELECTOR_LIST_ITEMS = '.list-group-item';\n var SELECTOR_DROPDOWN$1 = '.dropdown';\n var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item';\n var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';\n var Default$1 = {\n offset: 10,\n method: 'auto',\n target: ''\n };\n var DefaultType$1 = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n };\n /**\n * Class definition\n */\n\n var ScrollSpy = /*#__PURE__*/function () {\n function ScrollSpy(element, config) {\n var _this = this;\n\n this._element = element;\n this._scrollElement = element.tagName === 'BODY' ? window : element;\n this._config = this._getConfig(config);\n this._selector = this._config.target + \" \" + SELECTOR_NAV_LINKS + \",\" + (this._config.target + \" \" + SELECTOR_LIST_ITEMS + \",\") + (this._config.target + \" \" + SELECTOR_DROPDOWN_ITEMS);\n this._offsets = [];\n this._targets = [];\n this._activeTarget = null;\n this._scrollHeight = 0;\n $__default[\"default\"](this._scrollElement).on(EVENT_SCROLL, function (event) {\n return _this._process(event);\n });\n this.refresh();\n\n this._process();\n } // Getters\n\n\n var _proto = ScrollSpy.prototype;\n\n // Public\n _proto.refresh = function refresh() {\n var _this2 = this;\n\n var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;\n var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;\n var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;\n this._offsets = [];\n this._targets = [];\n this._scrollHeight = this._getScrollHeight();\n var targets = [].slice.call(document.querySelectorAll(this._selector));\n targets.map(function (element) {\n var target;\n var targetSelector = Util.getSelectorFromElement(element);\n\n if (targetSelector) {\n target = document.querySelector(targetSelector);\n }\n\n if (target) {\n var targetBCR = target.getBoundingClientRect();\n\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [$__default[\"default\"](target)[offsetMethod]().top + offsetBase, targetSelector];\n }\n }\n\n return null;\n }).filter(Boolean).sort(function (a, b) {\n return a[0] - b[0];\n }).forEach(function (item) {\n _this2._offsets.push(item[0]);\n\n _this2._targets.push(item[1]);\n });\n };\n\n _proto.dispose = function dispose() {\n $__default[\"default\"].removeData(this._element, DATA_KEY$2);\n $__default[\"default\"](this._scrollElement).off(EVENT_KEY$2);\n this._element = null;\n this._scrollElement = null;\n this._config = null;\n this._selector = null;\n this._offsets = null;\n this._targets = null;\n this._activeTarget = null;\n this._scrollHeight = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, Default$1, typeof config === 'object' && config ? config : {});\n\n if (typeof config.target !== 'string' && Util.isElement(config.target)) {\n var id = $__default[\"default\"](config.target).attr('id');\n\n if (!id) {\n id = Util.getUID(NAME$2);\n $__default[\"default\"](config.target).attr('id', id);\n }\n\n config.target = \"#\" + id;\n }\n\n Util.typeCheckConfig(NAME$2, config, DefaultType$1);\n return config;\n };\n\n _proto._getScrollTop = function _getScrollTop() {\n return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;\n };\n\n _proto._getScrollHeight = function _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);\n };\n\n _proto._getOffsetHeight = function _getOffsetHeight() {\n return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;\n };\n\n _proto._process = function _process() {\n var scrollTop = this._getScrollTop() + this._config.offset;\n\n var scrollHeight = this._getScrollHeight();\n\n var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh();\n }\n\n if (scrollTop >= maxScroll) {\n var target = this._targets[this._targets.length - 1];\n\n if (this._activeTarget !== target) {\n this._activate(target);\n }\n\n return;\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null;\n\n this._clear();\n\n return;\n }\n\n for (var i = this._offsets.length; i--;) {\n var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);\n\n if (isActiveTarget) {\n this._activate(this._targets[i]);\n }\n }\n };\n\n _proto._activate = function _activate(target) {\n this._activeTarget = target;\n\n this._clear();\n\n var queries = this._selector.split(',').map(function (selector) {\n return selector + \"[data-target=\\\"\" + target + \"\\\"],\" + selector + \"[href=\\\"\" + target + \"\\\"]\";\n });\n\n var $link = $__default[\"default\"]([].slice.call(document.querySelectorAll(queries.join(','))));\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN$1).find(SELECTOR_DROPDOWN_TOGGLE$1).addClass(CLASS_NAME_ACTIVE$1);\n $link.addClass(CLASS_NAME_ACTIVE$1);\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE$1); // Set triggered links parents as active\n // With both