{"version":3,"sources":["../assets/src/scripts/frontend/totalpoll.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,IAAU,SAAS,CAg9BlB;AAh9BD,WAAU,SAAS;IACJ,eAAK,GAAG,EAAE,CAAC;IAEtB;;OAEG;IACH;QA2NI;YAAA,iBAaC;YAtOM,aAAQ,GAAG,8qMAuNnB,CAAC;YAGI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,KAAK;gBAC3B,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;oBACvH,KAAI,CAAC,IAAI,EAAE,CAAC;gBAChB,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE;gBACpD,KAAI,CAAC,IAAI,EAAE,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,4BAAY,GAAZ;YACI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QAED,sBAAM,GAAN;YACI,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QAED,oBAAI,GAAJ;YAAA,iBASC;YARG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YAC7C,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;YACnD,UAAU,CAAC;gBACP,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;gBAChD,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;gBACrD,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3D,CAAC,EAAE,GAAG,CAAC,CAAC;QACZ,CAAC;QAED,sBAAM,GAAN;YACI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,CAAC;QAED,0BAAU,GAAV,UAAW,OAAO;YACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,oBAAI,GAAJ;YAAA,iBAWC;YAVG,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;YAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAChB,yBAAyB,EACzB,UAAC,KAAK;gBACF,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;oBACrB,KAAI,CAAC,IAAI,EAAE,CAAC;gBAChB,CAAC;YACL,CAAC,CACJ,CAAC;QACN,CAAC;QACL,YAAC;IAAD,CAjRA,AAiRC,IAAA;IASD;QA2EI,uBAAoB,IAAU;YAA9B,iBASC;YATmB,SAAI,GAAJ,IAAI,CAAM;YA1EtB,WAAM,GAAG,MAAM,CAAC,iiFAwEzB,CAAC,CAAC;YAIG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK;gBAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAC,KAAK;gBACzC,KAAI,CAAC,IAAI,CAAC,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;gBACpF,KAAK,CAAC,cAAc,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACP,CAAC;QAED,+BAAO,GAAP;QACA,CAAC;QAED,4BAAI,GAAJ,UAAK,GAAG,EAAE,IAAS,EAAE,MAAc;YAAnC,iBAgCC;YAhCS,qBAAA,EAAA,SAAS;YAAE,uBAAA,EAAA,cAAc;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAEvF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAErB,MAAM,CAAC,IAAI,CAAC;oBACR,GAAG,EAAE,GAAG;oBACR,IAAI,EAAE,IAAI;oBACV,WAAW,EAAE,MAAM,IAAI,MAAM;oBAC7B,WAAW,EAAE,KAAK;oBAClB,IAAI,EAAE,MAAM;iBACf,CAAC;qBACG,IAAI,CAAC,UAAC,QAAQ;oBACX,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC7B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,CAAC;oBAE1C,KAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;wBACrB,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;wBACrC,IAAI,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;wBACpF,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;4BACf,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;wBAC/C,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC;qBACD,IAAI,CAAC,UAAC,KAAK;oBACR,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBACtC,OAAO,CAAC,KAAK,CAAC,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,yCAAyC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC9F,CAAC,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;QACP,CAAC;QACL,oBAAC;IAAD,CA1HA,AA0HC,IAAA;IAED;QAYI,MAAM;QACN,yBAAoB,IAAU;YAAV,SAAI,GAAJ,IAAI,CAAM;YAJvB,oBAAe,GAAG,KAAK,CAAC;YACxB,iBAAY,GAAG,CAAC,CAAC;YAIpB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;gBAC7F,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBACnG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,CAAC;YACzG,CAAC;QACL,CAAC;QAED,iCAAO,GAAP;QACA,CAAC;QAED,sCAAY,GAAZ;YACI,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,qCAAW,GAAX;YACI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACzD,CAAC;QAED,0CAAgB,GAAhB;YACI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,oCAAoC,CAAC,CAAC;QACvE,CAAC;QAED,mCAAS,GAAT,UAAU,KAAK;YACX,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBACrB,MAAM,CAAC;YACX,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC;QAEL,CAAC;QAED,uCAAa,GAAb,UAAc,KAAK;YACf,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBACtB,MAAM,CAAC;YACX,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC;QACL,CAAC;QAED,wCAAc,GAAd;YACI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9H,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACnI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAE5H,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAE5D,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;oBACjF,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBAC/B,CAAC;YACL,CAAC;QACL,CAAC;QAED,kCAAQ,GAAR,UAAS,KAAK;YAAd,iBAWC;YAVG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC5C,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBACxD,KAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC5B,KAAI,CAAC,cAAc,EAAE,CAAC;gBAEtB,EAAE,CAAC,CAAC,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC5B,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAC,SAAS,EAAE,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,GAAG,EAAC,EAAE,IAAI,CAAC,CAAC;gBAC1F,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED,sCAAY,GAAZ,UAAa,SAAS,EAAE,OAAO;YAA/B,iBA6BC;YA5BG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAChE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAEtE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,0FAAoF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,cAAW,CAAC,CAAC;YACnK,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,sFAAgF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,cAAW,CAAC,CAAC;YAEvJ,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACxC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEnC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;gBAClE,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;oBACtB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBAC/B,CAAC;gBAED,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC;YAED,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1F,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,KAAK,IAAK,OAAA,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAArB,CAAqB,CAAC,CAAC;YAC/D,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,KAAK,IAAK,OAAA,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAzB,CAAyB,CAAC,CAAC;YACvE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,KAAK,IAAK,OAAA,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAArB,CAAqB,CAAC,CAAC;QACnE,CAAC;QAED,qCAAW,GAAX,UAAY,MAAM;YAAlB,iBAoBC;YAnBG,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,+BAA+B,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAEpB,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAC5D,UAAU,CAAC,IAAI,CAAC,UAAC,KAAK,EAAE,OAAO;gBAC3B,IAAI,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChC,SAAS,CAAC,MAAM,CAAC,+CAA0C,KAAK,GAAG,CAAC,UAAI,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAI,UAAU,CAAC,MAAM,WAAQ,CAAC,CAAC;gBACrI,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,6CAA6C,EAAE,UAAC,KAAK;oBACxE,KAAI,CAAC,cAAc,EAAE,CAAC;gBAC1B,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAEjB,4CAA4C;YAC5C,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;QAED,gCAAM,GAAN;YACI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,GAAG,EAAC,EAAE,IAAI,CAAC,CAAC;YAC1F,CAAC;QACL,CAAC;QAGL,sBAAC;IAAD,CAnJA,AAmJC,IAAA;IAED;QACI,MAAM;QACN,2BAAY,IAAU;YAClB,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC/D,WAAW,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK;gBACjI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACP,CAAC;QAED,mCAAO,GAAP;QACA,CAAC;QAGL,wBAAC;IAAD,CAdA,AAcC,IAAA;IAED;QACI,2BAAY,IAAU;YAClB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBACzC,UAAU,CAAC;oBACP,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,GAAG,EAAC,EAAE,IAAI,CAAC,CAAC;gBACrF,CAAC,EAAE,GAAG,CAAC,CAAC;YACZ,CAAC;QACL,CAAC;QAED,mCAAO,GAAP;QACA,CAAC;QACL,wBAAC;IAAD,CAXA,AAWC,IAAA;IAED;QAGI,gCAAmB,IAAI;YAAvB,iBAGC;YAHkB,SAAI,GAAJ,IAAI,CAAA;YACnB,IAAI,CAAC,QAAQ,GAAG,UAAC,KAAK,IAAK,OAAA,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAA1B,CAA0B,CAAC;YACtD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;QAED,wCAAO,GAAP;YACI,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC;QAED,2CAAU,GAAV;YACI,GAAG,CAAC,WAAW,CAAC;gBACZ,SAAS,EAAE;oBACP,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;oBAChB,MAAM,EAAE,cAAc;oBACtB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;iBACxC;aACJ,EAAE,GAAG,CAAC,CAAC;QACZ,CAAC;QAED,+CAAc,GAAd,UAAe,KAAK;YAChB,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC;gBACtH,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,CAAC;QACL,CAAC;QACL,6BAAC;IAAD,CA3BA,AA2BC,IAAA;IAED;QACI,4BAAoB,IAAU;YAAV,SAAI,GAAJ,IAAI,CAAM;YAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK;gBACjI,IAAI,KAAK,GAAG,KAAK,CAAC;gBAClB,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;gBACrD,IAAI,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBACvE,IAAI,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAChE,IAAI,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC5E,IAAI,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC;gBAE5E,SAAS,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,WAAW,CAAC,yCAAyC,CAAC,CAAC;gBAC1G,SAAS,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC;gBAE1H,IAAI,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;gBAC7F,IAAI,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;gBAC3G,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC;gBAC1D,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC;oBACzC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAClC,KAAK,GAAG,IAAI,CAAC;oBACb,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC5H,YAAY,CAAC,IAAI,EAAE,CAAC;oBACxB,CAAC;gBACL,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBACnC,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,YAAY,CAAC;oBACxC,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBAC9D,YAAY,CAAC,IAAI,EAAE,CAAC;oBACxB,CAAC;gBACL,CAAC;gBAED,SAAS,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAEtE,SAAS,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,WAAW,CAAC,0CAA0C,CAAC,CAAC;gBAC3G,SAAS,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC,CAAC;YAChI,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK;gBACnF,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACrH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK;gBAClF,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC3I,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC,MAAM,EAAE,CAAC;QACtH,CAAC;QAED,oCAAO,GAAP;QACA,CAAC;QACL,yBAAC;IAAD,CAjDA,AAiDC,IAAA;IAED;QAGI,wBAAoB,IAAU;YAA9B,iBAWC;YAXmB,SAAI,GAAJ,IAAI,CAAM;YAFvB,UAAK,GAAG,IAAI,KAAK,EAAE,CAAC;YAGvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,UAAC,KAAK;gBACxD,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACnE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACX,KAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBACpD,CAAC;gBAED,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAElB,KAAK,CAAC,cAAc,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACP,CAAC;QAGD,gCAAO,GAAP;YACI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC;QACL,qBAAC;IAAD,CApBA,AAoBC,IAAA;IAED;QAOI,4BAAoB,IAAU;YAA9B,iBAcC;YAdmB,SAAI,GAAJ,IAAI,CAAM;YAFtB,UAAK,GAAY,KAAK,CAAC;YAG3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC;YAE9D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAEhH,YAAY;YACZ,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAC,KAAK,IAAK,OAAA,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAApB,CAAoB,CAAC,CAAC;gBACzD,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,cAAM,OAAA,KAAI,CAAC,MAAM,EAAE,EAAb,CAAa,CAAC,CAAC;YACpD,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC;QACL,CAAC;QAED,oCAAO,GAAP;YACI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC7B,CAAC;QAED,mCAAM,GAAN;YAAA,iBAWC;YAVG,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;gBACjC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;gBACxC,QAAQ,EAAE;oBACN,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC;wBACjB,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACjC,CAAC;gBACL,CAAC;aACJ,CACJ,CAAC;QACN,CAAC;QAED,qCAAQ,GAAR,UAAS,KAAK;YACV,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACd,KAAK,CAAC,cAAc,EAAE,CAAC;YAC3B,CAAC;QACL,CAAC;QACL,yBAAC;IAAD,CA7CA,AA6CC,IAAA;IAED;QACI,0BAAoB,IAAU;YAA9B,iBAUC;YAVmB,SAAI,GAAJ,IAAI,CAAM;YAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK,EAAE,OAAO;gBAC1D,oBAAoB;gBACpB,IAAI,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC/B,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC1D,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,WAAW,CAAC;gBACpE,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC5D,QAAQ;gBACR,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACP,CAAC;QAED,kCAAO,GAAP;QAEA,CAAC;QAED,gCAAK,GAAL,UAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAO;YAAP,oBAAA,EAAA,OAAO;YAC9B,MAAM,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAA,EAAE,GAAG,KAAA,EAAE,EAAE,IAAA,EAAC,CAAC;iBAChC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,EAAE;gBACzB,QAAQ,EAAE,GAAG;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,IAAI;aACtB,CAAC,CAAC;QACX,CAAC;QAED,+BAAI,GAAJ;YACI,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/H,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;QAEM,yBAAQ,GAAf,UAAgB,MAAM,EAAE,YAAY,EAAE,SAAe;YAAf,0BAAA,EAAA,eAAe;YACjD,YAAY,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,iDAAiD;YACnF,SAAS,GAAG,MAAM,CAAC,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACvE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,YAAY,GAAG,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC5C,EAAE,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;oBAClC,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,wDAAwD;gBAC/H,CAAC;gBACD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7D,CAAC;QACL,CAAC;QACL,uBAAC;IAAD,CA5CA,AA4CC,IAAA;IAED;QACI,8BAAoB,IAAU;YAAV,SAAI,GAAJ,IAAI,CAAM;YAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACzG,CAAC;QAED,sCAAO,GAAP;QAEA,CAAC;QACL,2BAAC;IAAD,CARA,AAQC,IAAA;IAED;;OAEG;IACH;QACI,oBAAmB,OAAO,EAAS,QAAgB;YAAhC,YAAO,GAAP,OAAO,CAAA;YAAS,aAAQ,GAAR,QAAQ,CAAQ;YAC/C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAED,gCAAW,GAAX;YACI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,+BAAU,GAAV;YACI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;QAKL,iBAAC;IAAD,CAhBA,AAgBC,IAAA;IAED;QAA+B,oCAAU;QAAzC;;QAcA,CAAC;QAbG,6BAAE,GAAF,UAAG,QAAmB,EAAE,QAAqC;YAArC,yBAAA,EAAA,WAAmB,IAAI,CAAC,WAAW,EAAE;YACzD,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAC,CAAC,CAAC;YACvE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACX,QAAQ,EAAE,CAAC;YACf,CAAC;QACL,CAAC;QAED,8BAAG,GAAH,UAAI,QAAmB,EAAE,QAAqC;YAArC,yBAAA,EAAA,WAAmB,IAAI,CAAC,WAAW,EAAE;YAC1D,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC9C,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACX,QAAQ,EAAE,CAAC;YACf,CAAC;QACL,CAAC;QACL,uBAAC;IAAD,CAdA,AAcC,CAd8B,UAAU,GAcxC;IAED;QAA6B,kCAAU;QAAvC;;QAQA,CAAC;QAPG,2BAAE,GAAF,UAAG,QAAmB,EAAE,QAAqC;YAArC,yBAAA,EAAA,WAAmB,IAAI,CAAC,WAAW,EAAE;YACzD,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,4BAAG,GAAH,UAAI,QAAmB,EAAE,QAAqC;YAArC,yBAAA,EAAA,WAAmB,IAAI,CAAC,WAAW,EAAE;YAC1D,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;QACL,qBAAC;IAAD,CARA,AAQC,CAR4B,UAAU,GAQtC;IAED;QAA8B,mCAAU;QAAxC;;QAQA,CAAC;QAPG,4BAAE,GAAF,UAAG,QAAmB,EAAE,QAAqC;YAArC,yBAAA,EAAA,WAAmB,IAAI,CAAC,WAAW,EAAE;YACzD,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;QAED,6BAAG,GAAH,UAAI,QAAmB,EAAE,QAAqC;YAArC,yBAAA,EAAA,WAAmB,IAAI,CAAC,WAAW,EAAE;YAC1D,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QACL,sBAAC;IAAD,CARA,AAQC,CAR6B,UAAU,GAQvC;IAED;QAAA;QAWA,CAAC;QAVU,eAAS,GAAhB,UAAiB,KAAK,EAAE,QAAQ;YAC5B,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK;gBACvC,IAAI,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACjD,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACP,CAAC;QAEM,cAAQ,GAAf,UAAgB,KAAK,EAAE,OAAO;YAC1B,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QACL,YAAC;IAAD,CAXA,AAWC,IAAA;IAXY,eAAK,QAWjB,CAAA;IAED;;OAEG;IACH;QAOI,cAAmB,OAAO,EAAU,OAAe,EAAU,QAAgB;YAAzC,wBAAA,EAAA,eAAe;YAAU,yBAAA,EAAA,gBAAgB;YAA1D,YAAO,GAAP,OAAO,CAAA;YAAU,YAAO,GAAP,OAAO,CAAQ;YAAU,aAAQ,GAAR,QAAQ,CAAQ;YANtE,eAAU,GAAQ,EAAE,CAAC;YACrB,WAAM,GAAQ,EAAE,CAAC;YAEjB,WAAM,GAAQ,EAAE,CAAC;YAIpB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE/C,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3B,2BAA2B;gBAC3B,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACvC,CAAC;YAED,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAE3B,YAAY;YACZ,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAE5D,QAAQ;YACR,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,CAAC;gBAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YACrE,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;YACxD,CAAC;YAED,YAAY;YACZ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC;YAED,YAAY;YACZ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC;YAED,mBAAmB;YACnB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC;YAED,WAAW;YACX,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC;YAED,yBAAyB;YACzB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC;YAED,aAAa;YACb,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAE1D,EAAE,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,IAAI,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACxF,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACzF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1F,CAAC;YAED,YAAY;YACZ,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9D,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAChE,CAAC;YAED,OAAO;YACP,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC1E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;YACtD,CAAC;YAED,QAAQ;YACR,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACrE,CAAC;YAED,QAAQ;YACR,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBAC5D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;YAC1C,CAAC;YAED,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,sBAAO,GAAP;YACI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,SAAoB;gBAC3D,SAAS,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;YAC1C,yBAAyB;QAC7B,CAAC;QAED,wBAAS,GAAT;YACI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,yBAAU,GAAV;YACI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QACL,WAAC;IAAD,CA3GA,AA2GC,IAAA;IA3GY,cAAI,OA2GhB,CAAA;AACL,CAAC,EAh9BS,SAAS,KAAT,SAAS,QAg9BlB;AAED,MAAM,CAAC,UAAU,CAAC;IACd,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC;QAClB,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","file":"../../frontend/totalpoll.js","sourcesContent":["declare var jQuery;\nnamespace TotalPoll {\n export var Polls = {};\n\n /**\n * Utils\n */\n class Modal {\n public element;\n public template = `\n\n
\n
\n
\n \n
\n
`;\n\n constructor() {\n this.create();\n this.appendToBody();\n\n this.element.on('click', (event) => {\n if (jQuery(event.srcElement).hasClass('totalpoll-modal') || jQuery(event.srcElement).hasClass('totalpoll-modal-content')) {\n this.hide();\n }\n });\n\n this.element.find('.totalpoll-modal-close').on('click', () => {\n this.hide();\n });\n }\n\n appendToBody() {\n jQuery(document.body).append(this.element);\n }\n\n create() {\n this.element = jQuery(this.template);\n }\n\n hide() {\n this.element.removeClass('totalpoll-is-visible');\n this.element.addClass('totalpoll-is-hiding');\n jQuery(document).unbind('keydown.totalpoll-modal');\n setTimeout(() => {\n this.element.removeClass('totalpoll-is-hiding');\n document.documentElement.style.overflowY = 'initial';\n this.element.find('.totalpoll-modal-content').html('');\n }, 200);\n }\n\n remove() {\n this.element.remove();\n }\n\n setContent(content) {\n this.element.find('.totalpoll-modal-content').html(content);\n }\n\n show() {\n document.documentElement.style.overflowY = 'hidden';\n this.element.addClass('totalpoll-is-visible');\n jQuery(document).one(\n 'keydown.totalpoll-modal',\n (event) => {\n if (event.which === 27) {\n this.hide();\n }\n }\n );\n }\n }\n\n /**\n * Behaviours\n */\n interface Behaviour {\n destroy();\n }\n\n class AjaxBehaviour implements Behaviour {\n private loader = jQuery(`\n \n
\n \n \n \n \n \n \n \n \n \n\n
`);\n\n constructor(private poll: Poll) {\n\n poll.element.find('[type=\"submit\"]').on('click', function (event) {\n poll.element.find('[name=\"totalpoll[action]\"]').val(this.value);\n });\n poll.element.find('form').on('submit', (event) => {\n this.load(this.poll.config.ajaxEndpoint, new FormData(event.currentTarget), 'POST');\n event.preventDefault();\n });\n }\n\n destroy() {\n }\n\n load(url, data = {}, method = 'GET') {\n this.poll.element.css('pointer-events', 'none');\n this.poll.element.parent().css('min-height', this.poll.element.parent().outerHeight());\n\n this.poll.element.prepend(this.loader);\n\n this.poll.transition.out(() => {\n\n jQuery.ajax({\n url: url,\n data: data,\n processData: method != 'POST',\n contentType: false,\n type: method,\n })\n .done((response) => {\n let $poll = jQuery(response);\n $poll.find('.totalpoll-container').hide();\n\n this.poll.transition.out(() => {\n this.poll.element.replaceWith($poll);\n let poll = new TotalPoll.Poll($poll, true, this.poll.config['behaviours']['async']);\n poll.transition.in(() => {\n poll.element.parent().css('min-height', 0);\n });\n });\n })\n .fail((error) => {\n this.poll.element.removeAttr('style');\n console.error(this.poll.config['i18n']['Something went wrong! Please try again.'], error);\n });\n });\n }\n }\n\n class SliderBehaviour implements Behaviour {\n public $buttons;\n public $currentSlide;\n public $navigationButtons;\n public $nextButton;\n public $previousButton;\n public $slides;\n public $voteButton;\n public $resultsButton;\n public hasCustomFields = false;\n public currentSlide = 0;\n\n //@PRO\n constructor(private poll: Poll) {\n if (poll.screen === 'vote' || poll.screen === 'results') {\n poll.element.find('.totalpoll-form-custom-fields').attr('totalpoll-valid-selection', 'true');\n this.setupButtons(poll.element.find('.totalpoll-buttons'), poll.element.find('.totalpoll-button'));\n this.setupSlides(poll.element.find('.totalpoll-question, .totalpoll-form-custom-fields:has(input)'));\n }\n }\n\n destroy() {\n }\n\n isFirstSlide() {\n return this.currentSlide === 0;\n }\n\n isLastSlide() {\n return this.$slides.length === this.currentSlide + 1;\n }\n\n isValidSelection() {\n return this.$currentSlide.is('[totalpoll-valid-selection=\"true\"]');\n }\n\n nextSlide(event) {\n if (this.isLastSlide()) {\n return;\n } else {\n event.preventDefault();\n this.setSlide(this.currentSlide + 1);\n this.scroll();\n }\n\n }\n\n previousSlide(event) {\n if (this.isFirstSlide()) {\n return;\n } else {\n event.preventDefault();\n this.setSlide(this.currentSlide - 1);\n this.scroll();\n }\n }\n\n refreshButtons() {\n this.$buttons.hide();\n this.$nextButton[this.isLastSlide() || (this.poll.behaviours['oneClick'] && this.poll.screen === 'vote') ? 'hide' : 'show']();\n this.$previousButton[this.isFirstSlide() || (this.poll.behaviours['oneClick'] && this.poll.screen === 'vote') ? 'hide' : 'show']();\n this.$buttons[this.isLastSlide() && (!this.poll.behaviours['oneClick'] || this.poll.screen === 'vote') ? 'show' : 'hide']();\n\n if (this.poll.screen === 'vote') {\n this.$voteButton.prop('disabled', !this.isValidSelection());\n this.$nextButton.prop('disabled', !this.isValidSelection());\n\n if (this.poll.behaviours['oneClick']) {\n this.$voteButton[this.hasCustomFields && this.isLastSlide() ? 'show' : 'hide']();\n this.$resultsButton.show();\n }\n }\n }\n\n setSlide(index) {\n this.$slides.eq(this.currentSlide).fadeOut(500, () => {\n this.currentSlide = index;\n this.$currentSlide = this.$slides.eq(this.currentSlide);\n this.$currentSlide.fadeIn();\n this.refreshButtons();\n\n if (this.poll.config.scrollUp) {\n jQuery('html, body').animate({scrollTop: this.poll.element.offset().top - 100}, 1000);\n }\n });\n }\n\n setupButtons(container, buttons) {\n this.$buttons = buttons;\n this.$voteButton = this.$buttons.filter('button[value=\"vote\"]');\n this.$resultsButton = this.$buttons.filter('button[value=\"results\"]');\n\n this.$previousButton = jQuery(``);\n this.$nextButton = jQuery(``);\n\n container.prepend(this.$previousButton);\n container.append(this.$nextButton);\n\n if (this.poll.behaviours['oneClick'] && this.poll.screen === 'vote') {\n if (this.$resultsButton) {\n this.$resultsButton.show();\n }\n\n this.$voteButton.hide();\n this.$previousButton.hide();\n this.$nextButton.hide();\n }\n\n if (this.poll.screen === 'results' && !this.poll.element.find('.totalpoll-question').length) {\n this.$previousButton.hide();\n this.$nextButton.hide();\n }\n\n this.$voteButton.on('click', (event) => this.nextSlide(event));\n this.$previousButton.on('click', (event) => this.previousSlide(event));\n this.$nextButton.on('click', (event) => this.nextSlide(event));\n }\n\n setupSlides(slides) {\n this.hasCustomFields = slides.is('.totalpoll-form-custom-fields');\n this.$slides = slides;\n this.$slides.hide();\n\n let $questions = this.$slides.filter('.totalpoll-question');\n $questions.each((index, element) => {\n let $question = jQuery(element);\n $question.append(`
${index + 1} ${this.poll.config['i18n']['of']} ${$questions.length}
`);\n $question.on('change', 'input[type=\"checkbox\"], input[type=\"radio\"]', (event) => {\n this.refreshButtons();\n });\n });\n\n this.setSlide(0);\n\n // Move to custom fields if there are errors\n if (this.$slides.last().find('.totalpoll-form-field-errors-item').length) {\n this.setSlide(this.$slides.length - 1);\n }\n }\n\n scroll() {\n if (this.poll.config['behaviours']['scrollUp']) {\n jQuery('html, body').animate({scrollTop: this.poll.element.offset().top - 100}, 1000);\n }\n }\n\n //@END-PRO\n }\n\n class OneClickBehaviour implements Behaviour {\n //@PRO\n constructor(poll: Poll) {\n var $voteButton = poll.element.find('.totalpoll-buttons-vote');\n $voteButton.hide();\n poll.element.find('.totalpoll-question input[type=\"checkbox\"], .totalpoll-question input[type=\"radio\"]').on('change', function (event) {\n $voteButton.prop('disabled', false).trigger('click');\n });\n }\n\n destroy() {\n }\n\n //@END-PRO\n }\n\n class ScrollUpBehaviour implements Behaviour {\n constructor(poll: Poll) {\n if (poll.isViaAjax() && !poll.isViaAsync()) {\n setTimeout(() => {\n jQuery('html, body').animate({scrollTop: poll.element.offset().top - 100}, 1000);\n }, 200);\n }\n }\n\n destroy() {\n }\n }\n\n class EmbedResizingBehaviour implements Behaviour {\n public listener;\n\n constructor(public poll) {\n this.listener = (event) => this.receiveRequest(event);\n window.addEventListener(\"message\", this.listener, false);\n }\n\n destroy() {\n window.removeEventListener(\"message\", this.listener);\n }\n\n postHeight() {\n top.postMessage({\n totalpoll: {\n id: this.poll.id,\n action: 'resizeHeight',\n value: jQuery(document.body).height()\n }\n }, '*');\n }\n\n receiveRequest(event) {\n if (event.data.totalpoll && event.data.totalpoll.id === this.poll.id && event.data.totalpoll.action === 'requestHeight') {\n this.postHeight();\n }\n }\n }\n\n class SelectionBehaviour implements Behaviour {\n constructor(private poll: Poll) {\n poll.element.find('.totalpoll-question input[type=\"checkbox\"], .totalpoll-question input[type=\"radio\"]').on('change', function (event) {\n var valid = false;\n var $this = jQuery(this);\n var $question = $this.closest('.totalpoll-question');\n var $otherChoice = $question.find('.totalpoll-question-choices-other');\n var $otherChoiceField = $otherChoice.find('input[type=\"text\"]');\n var minSelection = parseInt($question.attr('totalpoll-min-selection')) || 0;\n var maxSelection = parseInt($question.attr('totalpoll-max-selection')) || 1;\n\n $question.find('.totalpoll-question-choices-item').removeClass('totalpoll-question-choices-item-checked');\n $question.find('.totalpoll-question-choices-item:has(input:checked)').addClass('totalpoll-question-choices-item-checked');\n\n var $checked = $question.find('input[type=\"checkbox\"]:checked, input[type=\"radio\"]:checked');\n var $unchecked = $question.find('input[type=\"checkbox\"]:not(:checked), input[type=\"radio\"]:not(:checked)');\n if (maxSelection == 1) {\n valid = Boolean($checked.length) || minSelection == 0;\n } else if ($checked.length >= maxSelection) {\n $unchecked.prop('disabled', true);\n valid = true;\n if ($otherChoiceField.length && !$otherChoiceField.val().trim() && !$this.parents('.totalpoll-question-choices-other').length) {\n $otherChoice.hide();\n }\n } else {\n $unchecked.prop('disabled', false);\n valid = $checked.length >= minSelection;\n if ($otherChoiceField.length && !$otherChoiceField.val().trim()) {\n $otherChoice.show();\n }\n }\n\n $question.attr('totalpoll-valid-selection', valid ? 'true' : 'false');\n\n $question.find('.totalpoll-question-choices-item').removeClass('totalpoll-question-choices-item-disabled');\n $question.find('.totalpoll-question-choices-item:has(input:disabled)').addClass('totalpoll-question-choices-item-disabled');\n });\n poll.element.find('.totalpoll-question input[type=\"text\"]').on('focus', function (event) {\n jQuery(this).closest('label').find('input[type=\"checkbox\"], input[type=\"radio\"]').prop('checked', true).change();\n });\n poll.element.find('.totalpoll-question input[type=\"text\"]').on('blur', function (event) {\n jQuery(this).closest('label').find('input[type=\"checkbox\"], input[type=\"radio\"]').prop('checked', Boolean(this.value.trim())).change();\n });\n\n poll.element.find('.totalpoll-question input[type=\"checkbox\"], .totalpoll-question input[type=\"radio\"]').change();\n }\n\n destroy() {\n }\n }\n\n class ModalBehaviour implements Behaviour {\n public modal = new Modal();\n\n constructor(private poll: Poll) {\n jQuery(poll.element).on('click', '[totalpoll-modal]', (event) => {\n var selector = jQuery(event.currentTarget).attr('totalpoll-modal');\n if (selector) {\n this.modal.setContent(jQuery(selector).clone());\n }\n\n this.modal.show();\n\n event.preventDefault();\n });\n }\n\n\n destroy() {\n this.modal.remove();\n }\n }\n\n class reCaptchaBehaviour implements Behaviour {\n readonly invisible: Boolean;\n readonly widget;\n private $form;\n private $recaptcha;\n private valid: Boolean = false;\n\n constructor(private poll: Poll) {\n this.$recaptcha = poll.element.find('.g-recaptcha');\n this.$form = poll.element.find('form');\n this.invisible = this.$recaptcha.data('size') === 'invisible';\n\n this.widget = this.invisible ? this.$form.find('[type=\"submit\"][value=\"vote\"]').get(0) : this.$recaptcha.get(0);\n\n // Invisible\n if (this.invisible) {\n this.$form.on('submit', (event) => this.validate(event));\n window['grecaptcha'].ready(() => this.render());\n } else if (this.poll.isViaAjax()) {\n this.render();\n }\n }\n\n destroy() {\n this.$recaptcha.remove();\n }\n\n render() {\n window['grecaptcha'].render(this.widget, {\n sitekey: this.$recaptcha.data('sitekey'),\n callback: () => {\n this.valid = true;\n if (this.invisible) {\n this.$form.trigger('submit');\n }\n }\n }\n );\n }\n\n validate(event) {\n if (!this.valid) {\n event.preventDefault();\n }\n }\n }\n\n class CountUpBehaviour implements Behaviour {\n constructor(private poll: Poll) {\n poll.element.find('[totalpoll-count-up]').each((index, element) => {\n // Prepare arguments\n let $element = jQuery(element);\n let countTo = Number($element.attr('totalpoll-count-up'));\n let format = $element.attr('totalpoll-count-format') || \"{counter}\";\n let pad = Number($element.attr('totalpoll-count-pad')) || 2;\n // Start\n this.start($element, countTo, format, pad);\n });\n }\n\n destroy() {\n\n }\n\n start(el, countTo, format, pad = 2) {\n jQuery({counter: 0, format, pad, el})\n .animate({counter: countTo}, {\n duration: 900,\n step: this.step,\n complete: this.step\n });\n }\n\n step() {\n let formatedCounter = this['format'].replace('{counter}', CountUpBehaviour.padStart(Math.round(this['counter']), this['pad']));\n this['el'].text(formatedCounter);\n }\n\n static padStart(number, targetLength, padString = \"0\") {\n targetLength = targetLength >> 0; //truncate if number, or convert non-number to 0;\n padString = String(typeof padString !== 'undefined' ? padString : ' ');\n if (number.length >= targetLength) {\n return String(number);\n } else {\n targetLength = targetLength - number.length;\n if (targetLength > padString.length) {\n padString += padString['repeat'](targetLength / padString.length); //append to original to ensure we are longer than needed\n }\n return padString.slice(0, targetLength) + String(number);\n }\n }\n }\n\n class CustomFieldsPosition implements Behaviour {\n constructor(private poll: Poll) {\n poll.element.find('.totalpoll-questions').before(poll.element.find('.totalpoll-form-custom-fields'));\n }\n\n destroy() {\n\n }\n }\n\n /**\n * Transitions\n */\n abstract class Transition {\n constructor(public element, public duration: number) {\n this.element = jQuery(element);\n }\n\n getDuration() {\n return Number(this.duration);\n }\n\n getElement() {\n return this.element;\n }\n\n abstract in(callback?: Function, duration?: number);\n\n abstract out(callback?: Function, duration?: number);\n }\n\n class SimpleTransition extends Transition {\n in(callback?: Function, duration: number = this.getDuration()) {\n this.getElement().css({'visibility': 'visible', 'display': 'inherit'});\n if (callback) {\n callback();\n }\n }\n\n out(callback?: Function, duration: number = this.getDuration()) {\n this.getElement().css('visibility', 'hidden');\n if (callback) {\n callback();\n }\n }\n }\n\n class FadeTransition extends Transition {\n in(callback?: Function, duration: number = this.getDuration()) {\n this.getElement().fadeIn(duration, callback);\n }\n\n out(callback?: Function, duration: number = this.getDuration()) {\n this.getElement().fadeTo(duration, 0.2, callback);\n }\n }\n\n class SlideTransition extends Transition {\n in(callback?: Function, duration: number = this.getDuration()) {\n this.getElement().slideDown(duration, callback);\n }\n\n out(callback?: Function, duration: number = this.getDuration()) {\n this.getElement().slideUp(duration, callback);\n }\n }\n\n export class Hooks {\n static addAction(event, callback) {\n jQuery(TotalPoll).on(event, function (event) {\n let payload = [].slice.call(arguments).splice(1);\n callback.apply(event, payload);\n });\n }\n\n static doAction(event, payload) {\n jQuery(TotalPoll).triggerHandler(event, payload);\n }\n }\n\n /**\n * Poll\n */\n export class Poll {\n public behaviours: any = {};\n public config: any = {};\n public id;\n public screen: any = '';\n public transition: Transition;\n\n constructor(public element, private viaAjax = false, private viaAsync = false) {\n this.id = element.attr('totalpoll');\n this.config = JSON.parse(element.find('[totalpoll-config]').text());\n this.screen = element.attr('totalpoll-screen');\n\n if (TotalPoll.Polls[this.id]) {\n // Destroy the old instance\n TotalPoll.Polls[this.id].destroy();\n }\n\n TotalPoll.Polls[this.id] = this;\n element.data('poll', this);\n\n // Selection\n this.behaviours['selection'] = new SelectionBehaviour(this);\n\n // Modal\n if (this.config['behaviours']['disableModal']) {\n this.element.find('[totalpoll-modal]').remove();\n this.element.find('.has-thumbnail').removeClass('has-thumbnail');\n } else {\n this.behaviours['modal'] = new ModalBehaviour(this);\n }\n\n // Scroll up\n if (this.config['behaviours']['scrollUp']) {\n this.behaviours['scrollUp'] = new ScrollUpBehaviour(this);\n }\n\n // One-click\n if (this.config['behaviours']['oneClick']) {\n this.behaviours['oneClick'] = new OneClickBehaviour(this);\n }\n\n // Questions slider\n if (this.config['behaviours']['slider']) {\n this.behaviours['slider'] = new SliderBehaviour(this);\n }\n\n // Count up\n if (this.config['behaviours']['countUp']) {\n this.behaviours['countUp'] = new CountUpBehaviour(this);\n }\n\n // Custom fields position\n if (this.config['behaviours']['fieldsFirst']) {\n this.behaviours['fieldsFirst'] = new CustomFieldsPosition(this);\n }\n\n // Transition\n let transition = this.config['effects']['transition'];\n let container = this.element.find('.totalpoll-container');\n\n if (transition == 'fade') {\n this.transition = new FadeTransition(container, this.config['effects']['duration']);\n } else if (transition == 'slide') {\n this.transition = new SlideTransition(container, this.config['effects']['duration']);\n } else {\n this.transition = new SimpleTransition(container, this.config['effects']['duration']);\n }\n\n // reCaptcha\n if (window['grecaptcha'] && element.find('.g-recaptcha').length) {\n this.behaviours['recaptcha'] = new reCaptchaBehaviour(this);\n }\n\n // Ajax\n if (this.config['behaviours']['async'] || this.config['behaviours']['ajax']) {\n this.behaviours['ajax'] = new AjaxBehaviour(this);\n }\n\n // Async\n if (this.config['behaviours']['async']) {\n this.behaviours['ajax'].load(element.attr('totalpoll-ajax-url'));\n }\n\n // Embed\n if (window.top !== window.self) {\n this.behaviours['embed'] = new EmbedResizingBehaviour(this);\n this.behaviours['embed'].postHeight();\n }\n\n Hooks.doAction('totalpoll/init', this);\n }\n\n destroy() {\n jQuery.each(this.behaviours, function (id, behaviour: Behaviour) {\n behaviour.destroy();\n });\n Hooks.doAction('totalpoll/destroy', this);\n // this.element.remove();\n }\n\n isViaAjax() {\n return this.viaAjax;\n }\n\n isViaAsync() {\n return this.viaAsync;\n }\n }\n}\n\njQuery(function ($) {\n $('[totalpoll]').each(function () {\n new TotalPoll.Poll($(this));\n });\n});\n"]}