{"version":3,"file":"3614.js","mappings":";uHASA,IAAiDA,IASxC,WACT,OAAgB,SAAUC,GAEhB,IAAIC,EAAmB,GAGvB,SAAS,EAAoBC,GAG5B,GAAGD,EAAiBC,GACnB,OAAOD,EAAiBC,GAAUC,QAGnC,IAAIC,EAASH,EAAiBC,GAAY,CACzCC,QAAS,GACTE,GAAIH,EACJI,QAAQ,GAUT,OANAN,EAAQE,GAAUK,KAAKH,EAAOD,QAASC,EAAQA,EAAOD,QAAS,GAG/DC,EAAOE,QAAS,EAGTF,EAAOD,QAcf,OATA,EAAoBK,EAAIR,EAGxB,EAAoBS,EAAIR,EAGxB,EAAoBS,EAAI,GAGjB,EAAoB,GAvCrB,CA0CN,CAEJ,SAAUN,EAAQD,EAAS,GAIhCQ,OAAOC,eAAeT,EAAS,aAAc,CAC3CU,OAAO,IAGT,IAAIC,EAAe,WAAe,SAASC,EAAiBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMZ,OAAOC,eAAeI,EAAQI,EAAWI,IAAKJ,IAAiB,OAAO,SAAUK,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYX,EAAiBU,EAAYG,UAAWF,GAAiBC,GAAaZ,EAAiBU,EAAaE,GAAqBF,GAA9gB,GAIfI,EAAiB,EAAoB,GAErCC,EAAgB,EAAoB,GASpCC,EAAQ,WACV,SAASA,EAAMC,EAAWC,IAd5B,SAAyBC,EAAUT,GAAe,KAAMS,aAAoBT,GAAgB,MAAM,IAAIU,UAAU,qCAe5GC,CAAgBC,KAAMN,GAGtBF,EAAeS,YAAYC,KAAKF,KAAMJ,EAASD,GAE/CK,KAAKG,QAkdP,OA1cA1B,EAAaiB,EAAO,CAAC,CACnBP,IAAK,SACLX,MAAO,WACLwB,KAAKI,MAAMC,OAASL,KAAKM,QAAUN,KAAKO,SAOzC,CACDpB,IAAK,OACLX,MAAO,WACDwB,KAAKQ,gBACLR,KAAKI,MAAMC,SACfL,KAAKS,gBAAe,GACpBT,KAAKI,MAAMC,QAAS,EACpBL,KAAKJ,QAAQc,OAAOV,KAAKW,SAAUX,SAOpC,CACDb,IAAK,QACLX,MAAO,WACDwB,KAAKQ,gBACJR,KAAKI,MAAMC,SAChBL,KAAKI,MAAMC,QAAS,EAChBL,KAAKI,MAAMQ,UACbZ,KAAKY,UAAUZ,KAAKI,MAAMS,UAAWb,KAAKI,MAAMU,WAEhDd,KAAKe,UAAUf,KAAKI,MAAMS,UAAWb,KAAKI,MAAMU,WAElDd,KAAKJ,QAAQoB,QAAQhB,KAAKW,SAAUX,SAOrC,CACDb,IAAK,UACLX,MAAO,WACLwB,KAAKiB,OAAM,GACXjB,KAAKJ,QAAQsB,UAAUlB,QAQxB,CACDb,IAAK,QACLX,MAAO,WACL,IAAI2C,EAAUC,UAAUtC,QAAU,QAAsBuC,IAAjBD,UAAU,IAA0BA,UAAU,GAErFE,cAActB,KAAKuB,SACnBvB,KAAKwB,YAAY,IACbxB,KAAKyB,QAAUzB,KAAKyB,OAAOC,aAC7B1B,KAAKyB,OAAOC,WAAWC,YAAY3B,KAAKyB,QACxCzB,KAAKyB,OAAS,MAEhBzB,KAAK4B,OAAS,EACd5B,KAAKW,SAAW,EAChBX,KAAK6B,QAAU,EACXV,IACFnB,KAAK8B,eACL9B,KAAKJ,QAAQmC,QAAQ/B,MACrBA,KAAKG,WAQR,CACDhB,IAAK,QACLX,MAAO,WACL,IAAIwD,EAAQhC,KAEZA,KAAKJ,QAAQqC,QAAQjC,MACrBA,KAAKQ,gBAAiB,EACtBR,KAAKkC,uBAAuBlC,MAC5BA,KAAK8B,eACD9B,KAAKmC,sBAAsBnC,KAAKoC,kBACpCpC,KAAKuB,QAAUc,YAAW,WAEnBL,EAAMM,kBAAsD,IAAlCN,EAAMM,iBAAiBxD,OAIpDkD,EAAMjB,UAAUiB,EAAMM,iBAAkBN,EAAMM,iBAAiBxD,QAH/DkD,EAAMpB,UAAUoB,EAAMO,QAAQP,EAAMQ,SAASR,EAAMrB,WAAYqB,EAAMJ,UAKtE5B,KAAKyC,cAST,CACDtD,IAAK,YACLX,MAAO,SAAmBqC,EAAWC,GACnC,IAAI4B,EAAS1C,KAETA,KAAK2C,SAAW3C,KAAK4C,GAAGC,UAAUC,SAAS9C,KAAK+C,gBAClD/C,KAAK4C,GAAGC,UAAUG,OAAOhD,KAAK+C,cAC1B/C,KAAKyB,QAAQzB,KAAKyB,OAAOoB,UAAUG,OAAOhD,KAAK+C,eAGrD,IAAIE,EAAWjD,KAAKkD,UAAUlD,KAAKmD,WAC/BC,EAAW,GAEW,IAAtBpD,KAAKI,MAAMC,OAMfL,KAAKuB,QAAUc,YAAW,WAExBvB,EAAYrB,EAAc4D,WAAWC,cAAczC,EAAWC,EAAW4B,GAEzE,IAAIa,EAAY,EACZC,EAAS3C,EAAU2C,OAAO1C,GAI9B,GAAyB,MAArB0C,EAAOC,OAAO,IACZ,SAASC,KAAKF,GAAS,CACzB,IAAIG,EAAO,EAEXA,IADAH,EAAS,MAAMI,KAAKJ,GAAQ,IACb1E,OACfyE,EAAYM,SAASL,GACrBd,EAAOoB,gBAAiB,EACxBpB,EAAO9C,QAAQmE,eAAerB,EAAO/B,SAAU+B,GAE/C7B,EAAYA,EAAUmD,UAAU,EAAGlD,GAAaD,EAAUmD,UAAUlD,EAAY6C,GAChFjB,EAAOjC,gBAAe,GAM1B,GAAyB,MAArB+C,EAAOC,OAAO,GAAY,CAC5B,KAA4D,MAArD5C,EAAU2C,OAAO1C,EAAYsC,GAAUK,OAAO,KACnDL,MACItC,EAAYsC,EAAWvC,EAAU/B,WAGvC,IAAImF,EAAmBpD,EAAUmD,UAAU,EAAGlD,GAC1CoD,EAAgBrD,EAAUmD,UAAUC,EAAiBnF,OAAS,EAAGgC,EAAYsC,GAC7Ee,EAAkBtD,EAAUmD,UAAUlD,EAAYsC,EAAW,GACjEvC,EAAYoD,EAAmBC,EAAgBC,EAC/Cf,IAIFV,EAAOnB,QAAUc,YAAW,WAE1BK,EAAOjC,gBAAe,GAGlBK,GAAaD,EAAU/B,OACzB4D,EAAO0B,WAAWvD,EAAWC,GAE7B4B,EAAO2B,WAAWxD,EAAWC,EAAWsC,GAGtCV,EAAOoB,iBACTpB,EAAOoB,gBAAiB,EACxBpB,EAAO9C,QAAQ0E,gBAAgB5B,EAAO/B,SAAU+B,MAEjDa,KAGFN,GA9DDjD,KAAKuE,eAAe1D,EAAWC,GAAW,KAuE7C,CACD3B,IAAK,aACLX,MAAO,SAAoBqC,EAAWC,EAAWsC,GAE7B,IAAdtC,IACFd,KAAKS,gBAAe,GACpBT,KAAKJ,QAAQ4E,eAAexE,KAAKW,SAAUX,OAI7Cc,GAAasC,EACb,IAAIqB,EAAa5D,EAAU2C,OAAO,EAAG1C,GACrCd,KAAKwB,YAAYiD,GAEjBzE,KAAKY,UAAUC,EAAWC,KAS3B,CACD3B,IAAK,aACLX,MAAO,SAAoBqC,EAAWC,GACpC,IAAI4D,EAAS1E,KAGbA,KAAKJ,QAAQ+E,cAAc3E,KAAKW,SAAUX,MAC1CA,KAAKS,gBAAe,GAEhBT,KAAKW,WAAaX,KAAKuC,QAAQzD,OAAS,IAE1CkB,KAAK4E,YAEa,IAAd5E,KAAK6E,MAAkB7E,KAAK6B,UAAY7B,KAAK8E,aAInD9E,KAAKuB,QAAUc,YAAW,WACxBqC,EAAO3D,UAAUF,EAAWC,KAC3Bd,KAAK+E,cAST,CACD5F,IAAK,YACLX,MAAO,SAAmBqC,EAAWC,GACnC,IAAIkE,EAAShF,KAEb,IAA0B,IAAtBA,KAAKI,MAAMC,OAAf,CAIA,GAAIL,KAAK2C,QAAS,OAAO3C,KAAKiF,cAE9BjF,KAAKS,gBAAe,GACpB,IAAIwC,EAAWjD,KAAKkD,UAAUlD,KAAKkF,WAEnClF,KAAKuB,QAAUc,YAAW,WACxBvB,EAAYrB,EAAc4D,WAAW8B,mBAAmBtE,EAAWC,EAAWkE,GAE9E,IAAII,EAAsBvE,EAAU2C,OAAO,EAAG1C,GAI9C,GAHAkE,EAAOxD,YAAY4D,GAGfJ,EAAOK,eAAgB,CAEzB,IAAIZ,EAAaO,EAAOzC,QAAQyC,EAAOrE,SAAW,GAC9C8D,GAAcW,IAAwBX,EAAWjB,OAAO,EAAG1C,GAC7DkE,EAAOM,QAAUxE,EAEjBkE,EAAOM,QAAU,EAMjBxE,EAAYkE,EAAOM,SAErBxE,IAEAkE,EAAOjE,UAAUF,EAAWC,IACnBA,GAAakE,EAAOM,UAG7BN,EAAOrE,WAEHqE,EAAOrE,WAAaqE,EAAOzC,QAAQzD,QACrCkG,EAAOrE,SAAW,EAClBqE,EAAOpF,QAAQ2F,yBACfP,EAAO9C,yBACP8C,EAAO7E,SAEP6E,EAAOpE,UAAUoE,EAAOzC,QAAQyC,EAAOxC,SAASwC,EAAOrE,WAAYG,MAItEmC,QA/CDjD,KAAKuE,eAAe1D,EAAWC,GAAW,KAsD7C,CACD3B,IAAK,WACLX,MAAO,WACLwB,KAAKJ,QAAQ4F,WAAWxF,MACpBA,KAAK6E,KACP7E,KAAK6B,UAEL7B,KAAKQ,gBAAiB,IAWzB,CACDrB,IAAK,iBACLX,MAAO,SAAwBqC,EAAWC,EAAW2E,GACnDzF,KAAKI,MAAMQ,UAAY6E,EACvBzF,KAAKI,MAAMS,UAAYA,EACvBb,KAAKI,MAAMU,UAAYA,IAQxB,CACD3B,IAAK,iBACLX,MAAO,SAAwBkH,GACxB1F,KAAKyB,SAENzB,KAAKI,MAAMC,QACXL,KAAK2F,iBAAmBD,IAC5B1F,KAAK2F,eAAiBD,EAClBA,EACF1F,KAAKyB,OAAOoB,UAAU+C,IAAI,uBAE1B5F,KAAKyB,OAAOoB,UAAUG,OAAO,2BAShC,CACD7D,IAAK,YACLX,MAAO,SAAmBqH,GACxB,OAAOC,KAAKC,MAAMD,KAAKE,SAAWH,EAAQ,GAAKA,IAOhD,CACD1G,IAAK,yBACLX,MAAO,WACAwB,KAAKiG,UACVjG,KAAKwC,SAAWxC,KAAKwC,SAAS0D,MAAK,WACjC,OAAOJ,KAAKE,SAAW,SAQ1B,CACD7G,IAAK,cACLX,MAAO,WACL,IAAI2H,EAASnG,KAIb,OAFAA,KAAK4C,GAAGwD,WAAa,IAAMpG,KAAK+C,aAC5B/C,KAAKyB,SAAQzB,KAAKyB,OAAO2E,WAAa,IAAMpG,KAAK+C,cAC9CV,YAAW,WAChB8D,EAAOxF,WACPwF,EAAO3E,YAAY,IAGf2E,EAAO5D,QAAQzD,OAASqH,EAAOxF,SACjCwF,EAAOvF,UAAUuF,EAAO5D,QAAQ4D,EAAO3D,SAAS2D,EAAOxF,WAAY,IAEnEwF,EAAOvF,UAAUuF,EAAO5D,QAAQ,GAAI,GACpC4D,EAAOxF,SAAW,KAEnBX,KAAKqG,gBAST,CACDlH,IAAK,cACLX,MAAO,SAAqB8H,GACtBtG,KAAKuG,KACPvG,KAAK4C,GAAG4D,aAAaxG,KAAKuG,KAAMD,GAE5BtG,KAAKyG,QACPzG,KAAK4C,GAAGpE,MAAQ8H,EACc,SAArBtG,KAAK0G,YACd1G,KAAK4C,GAAG+D,UAAYL,EAEpBtG,KAAK4C,GAAGgE,YAAcN,IAU3B,CACDnH,IAAK,kBACLX,MAAO,WACL,IAAIqI,EAAS7G,KAERA,KAAKyG,UACVzG,KAAK4C,GAAGkE,iBAAiB,SAAS,SAAUC,GAC1CF,EAAOtG,UAETP,KAAK4C,GAAGkE,iBAAiB,QAAQ,SAAUC,GACrCF,EAAOjE,GAAGpE,OAAoC,IAA3BqI,EAAOjE,GAAGpE,MAAMM,QAGvC+H,EAAOvG,cAQV,CACDnB,IAAK,eACLX,MAAO,WACAwB,KAAKgH,aACNhH,KAAKyB,SACTzB,KAAKyB,OAASwF,SAASC,cAAc,QACrClH,KAAKyB,OAAO2E,UAAY,eACxBpG,KAAKyB,OAAO+E,aAAa,eAAe,GACxCxG,KAAKyB,OAAOkF,UAAY3G,KAAKmH,WAC7BnH,KAAK4C,GAAGlB,YAAc1B,KAAK4C,GAAGlB,WAAW0F,aAAapH,KAAKyB,OAAQzB,KAAK4C,GAAGyE,mBAIxE3H,EAzdG,GA4dZ5B,EAAiB,QAAI4B,EACrB3B,EAAOD,QAAUA,EAAiB,SAI7B,SAAUC,EAAQD,EAAS,GAIhCQ,OAAOC,eAAeT,EAAS,aAAc,CAC3CU,OAAO,IAGT,IAIgC8I,EAJ5BC,EAAWjJ,OAAOkJ,QAAU,SAAU7I,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIuC,UAAUtC,OAAQD,IAAK,CAAE,IAAI4I,EAASrG,UAAUvC,GAAI,IAAK,IAAIM,KAAOsI,EAAcnJ,OAAOiB,UAAUmI,eAAexJ,KAAKuJ,EAAQtI,KAAQR,EAAOQ,GAAOsI,EAAOtI,IAAY,OAAOR,GAEnPF,EAAe,WAAe,SAASC,EAAiBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMZ,OAAOC,eAAeI,EAAQI,EAAWI,IAAKJ,IAAiB,OAAO,SAAUK,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYX,EAAiBU,EAAYG,UAAWF,GAAiBC,GAAaZ,EAAiBU,EAAaE,GAAqBF,GAA9gB,GAMfuI,EAAc,EAAoB,GAElCC,GAN4BN,EAMUK,IANWL,EAAIO,WAAaP,EAAM,CAAE,QAAWA,GAYrFQ,EAAc,WAChB,SAASA,KAXX,SAAyBjI,EAAUT,GAAe,KAAMS,aAAoBT,GAAgB,MAAM,IAAIU,UAAU,qCAY5GC,CAAgBC,KAAM8H,GAsLxB,OAnLArJ,EAAaqJ,EAAa,CAAC,CACzB3I,IAAK,OAULX,MAAO,SAAcuJ,EAAMnI,EAASD,GAiElC,GA9DEoI,EAAKnF,GADkB,iBAAdjD,EACCsH,SAASe,cAAcrI,GAEvBA,EAGZoI,EAAKnI,QAAU2H,EAAS,GAAIK,EAAsB,QAAGhI,GAGrDmI,EAAKtB,QAA4C,UAAlCsB,EAAKnF,GAAGqF,QAAQC,cAC/BH,EAAKxB,KAAOwB,EAAKnI,QAAQ2G,KACzBwB,EAAK5F,qBAAuB4F,EAAKnI,QAAQuC,qBAGzC4F,EAAKf,YAAae,EAAKtB,SAAkBsB,EAAKnI,QAAQoH,WAGtDe,EAAKZ,WAAaY,EAAKnI,QAAQuH,WAG/BY,EAAKpC,gBAAiB,EAGtBoC,EAAKI,UAAYJ,EAAKxB,KAAOwB,EAAKnF,GAAGwF,aAAaL,EAAKxB,MAAQwB,EAAKnF,GAAGgE,YAGvEmB,EAAKrB,YAAcqB,EAAKnI,QAAQ8G,YAGhCqB,EAAK5E,UAAY4E,EAAKnI,QAAQuD,UAG9B4E,EAAKtF,WAAasF,EAAKnI,QAAQ6C,WAG/BsF,EAAK7C,UAAY6C,EAAKnI,QAAQsF,UAG9B6C,EAAK1C,eAAiB0C,EAAKnI,QAAQyF,eAGnC0C,EAAKhD,UAAYgD,EAAKnI,QAAQmF,UAG9BgD,EAAKpF,QAAUoF,EAAKnI,QAAQ+C,QAC5BoF,EAAKhF,aAAegF,EAAKnI,QAAQmD,aACjCgF,EAAK1B,aAAe0B,EAAKnI,QAAQyG,aAGjC0B,EAAKM,UAAW,EAGhBN,EAAKxF,QAAUwF,EAAKnI,QAAQ2C,QAAQ+F,KAAI,SAAUC,GAChD,OAAOA,EAAEC,UAIgC,iBAAhCT,EAAKnI,QAAQ6I,eACtBV,EAAKU,eAAiBxB,SAASe,cAAcD,EAAKnI,QAAQ6I,gBAE1DV,EAAKU,eAAiBV,EAAKnI,QAAQ6I,eAGjCV,EAAKU,eAAgB,CACvBV,EAAKxF,QAAU,GACfwF,EAAKU,eAAeC,MAAMC,QAAU,OACpC,IAAIpG,EAAUqG,MAAMrJ,UAAUsJ,MAAMC,MAAMf,EAAKU,eAAeM,UAC1DC,EAAgBzG,EAAQzD,OAE5B,GAAIkK,EACF,IAAK,IAAInK,EAAI,EAAGA,EAAImK,EAAenK,GAAK,EAAG,CACzC,IAAIoK,EAAW1G,EAAQ1D,GACvBkJ,EAAKxF,QAAQ2G,KAAKD,EAAStC,UAAU6B,SAmC3C,IAAK,IAAI3J,KA7BTkJ,EAAKnG,OAAS,EAGdmG,EAAKpH,SAAW,EAGhBoH,EAAKzC,QAAU,EAGfyC,EAAKlD,KAAOkD,EAAKnI,QAAQiF,KACzBkD,EAAKjD,UAAYiD,EAAKnI,QAAQkF,UAC9BiD,EAAKlG,QAAU,EAGfkG,EAAK9B,QAAU8B,EAAKnI,QAAQqG,QAE5B8B,EAAKvF,SAAW,GAEhBuF,EAAK3H,MAAQ,CACXC,QAAQ,EACRO,WAAW,EACXC,UAAW,GACXC,UAAW,GAIbiH,EAAKvH,gBAAiB,EAGRuH,EAAKxF,QACjBwF,EAAKvF,SAAS3D,GAAKA,EAIrBkJ,EAAKzF,iBAAmBtC,KAAKmJ,oBAAoBpB,GAEjDA,EAAKqB,cAAgBrB,EAAKnI,QAAQwJ,cAElCpJ,KAAKqJ,mBAAmBtB,KAEzB,CACD5I,IAAK,sBACLX,MAAO,SAA6BuJ,GAWlC,OATIA,EAAKxB,KACKwB,EAAKnF,GAAGwF,aAAaL,EAAKxB,MAC7BwB,EAAKtB,QACFsB,EAAKnF,GAAGpE,MACU,SAArBuJ,EAAKrB,YACFqB,EAAKnF,GAAG+D,UAERoB,EAAKnF,GAAGgE,cAIvB,CACDzH,IAAK,qBACLX,MAAO,SAA4BuJ,GACjC,IAAIuB,EAAc,oBAClB,GAAKvB,EAAKqB,gBAGLrB,EAAKf,YAAee,EAAKpF,WAG1BsE,SAASe,cAAc,IAAMsB,EAAc,KAA/C,CAIA,IAAIC,EAAMtC,SAASC,cAAc,SACjCqC,EAAIC,KAAO,WACXD,EAAI/C,aAAa8C,GAAa,GAE9B,IAAIG,EAAW,GACX1B,EAAKf,aACPyC,GAAY,qgBAEV1B,EAAKpF,UACP8G,GAAY,6OAEK,IAAfF,EAAIzK,SAGRyK,EAAI5C,UAAY8C,EAChBxC,SAASyC,KAAKC,YAAYJ,SAIvBzB,EAxLS,GA2LlBhK,EAAiB,QAAIgK,EACrB,IAAI7H,EAAc,IAAI6H,EACtBhK,EAAQmC,YAAcA,GAIjB,SAAUlC,EAAQD,GAUvBQ,OAAOC,eAAeT,EAAS,aAAc,CAC3CU,OAAO,IAET,IAAIoL,EAAW,CAKbrH,QAAS,CAAC,kCAAmC,+BAAgC,gBAAiB,qBAC9FkG,eAAgB,KAKhBtF,UAAW,EAKXV,WAAY,EAKZyC,UAAW,EAKXG,gBAAgB,EAKhBY,SAAS,EAKTlB,UAAW,IAOXpC,SAAS,EACTI,aAAc,iBACdsD,aAAc,IAMdxB,MAAM,EACNC,UAAW+E,IAOX7C,YAAY,EACZG,WAAY,IACZiC,eAAe,EAMf7C,KAAM,KAKNpE,sBAAsB,EAKtBuE,YAAa,OAMbzE,QAAS,SAAiB8F,KAM1BvC,WAAY,SAAoBuC,KAOhCvD,eAAgB,SAAwB7D,EAAUoH,KAOlDpD,cAAe,SAAuBhE,EAAUoH,KAMhDxC,uBAAwB,SAAgCwC,KAOxDhE,eAAgB,SAAwBpD,EAAUoH,KAOlDzD,gBAAiB,SAAyB3D,EAAUoH,KAMpDhG,QAAS,SAAiBgG,KAO1BrH,OAAQ,SAAgBC,EAAUoH,KAOlC/G,QAAS,SAAiBL,EAAUoH,KAMpC7G,UAAW,SAAmB6G,MAGhCjK,EAAiB,QAAI8L,EACrB7L,EAAOD,QAAUA,EAAiB,SAI7B,SAAUC,EAAQD,GASvBQ,OAAOC,eAAeT,EAAS,aAAc,CAC3CU,OAAO,IAGT,IAAIC,EAAe,WAAe,SAASC,EAAiBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMZ,OAAOC,eAAeI,EAAQI,EAAWI,IAAKJ,IAAiB,OAAO,SAAUK,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYX,EAAiBU,EAAYG,UAAWF,GAAiBC,GAAaZ,EAAiBU,EAAaE,GAAqBF,GAA9gB,GAIf0K,EAAa,WACf,SAASA,KAHX,SAAyBjK,EAAUT,GAAe,KAAMS,aAAoBT,GAAgB,MAAM,IAAIU,UAAU,qCAI5GC,CAAgBC,KAAM8J,GAoExB,OAjEArL,EAAaqL,EAAY,CAAC,CACxB3K,IAAK,gBAWLX,MAAO,SAAuBqC,EAAWC,EAAWiH,GAClD,GAAyB,SAArBA,EAAKrB,YAAwB,OAAO5F,EACxC,IAAIiJ,EAAUlJ,EAAU2C,OAAO1C,GAAW2C,OAAO,GACjD,GAAgB,MAAZsG,GAA+B,MAAZA,EAAiB,CACtC,IAAIC,EAAS,GAMb,IAJEA,EADc,MAAZD,EACO,IAEA,IAEJlJ,EAAU2C,OAAO1C,EAAY,GAAG2C,OAAO,KAAOuG,KAEnC,KADhBlJ,EACoBD,EAAU/B,UAIhCgC,IAEF,OAAOA,IAWR,CACD3B,IAAK,qBACLX,MAAO,SAA4BqC,EAAWC,EAAWiH,GACvD,GAAyB,SAArBA,EAAKrB,YAAwB,OAAO5F,EACxC,IAAIiJ,EAAUlJ,EAAU2C,OAAO1C,GAAW2C,OAAO,GACjD,GAAgB,MAAZsG,GAA+B,MAAZA,EAAiB,CACtC,IAAIC,EAAS,GAMb,IAJEA,EADc,MAAZD,EACO,IAEA,IAEJlJ,EAAU2C,OAAO1C,EAAY,GAAG2C,OAAO,KAAOuG,OACnDlJ,EACgB,KAIlBA,IAEF,OAAOA,MAIJgJ,EAtEQ,GAyEjBhM,EAAiB,QAAIgM,EACrB,IAAIzG,EAAa,IAAIyG,EACrBhM,EAAQuF,WAAaA,MA3gCpBtF,EAAOD,QAAUJ","sources":["webpack://sakurairo-scripts/./node_modules/typed.js/lib/typed.js"],"sourcesContent":["/*!\n * \n * typed.js - A JavaScript Typing Animation Library\n * Author: Matt Boldt \n * Version: v2.0.12\n * Url: https://github.com/mattboldt/typed.js\n * License(s): MIT\n * \n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Typed\"] = factory();\n\telse\n\t\troot[\"Typed\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t value: true\n\t});\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _initializerJs = __webpack_require__(1);\n\t\n\tvar _htmlParserJs = __webpack_require__(3);\n\t\n\t/**\n\t * Welcome to Typed.js!\n\t * @param {string} elementId HTML element ID _OR_ HTML element\n\t * @param {object} options options object\n\t * @returns {object} a new Typed object\n\t */\n\t\n\tvar Typed = (function () {\n\t function Typed(elementId, options) {\n\t _classCallCheck(this, Typed);\n\t\n\t // Initialize it up\n\t _initializerJs.initializer.load(this, options, elementId);\n\t // All systems go!\n\t this.begin();\n\t }\n\t\n\t /**\n\t * Toggle start() and stop() of the Typed instance\n\t * @public\n\t */\n\t\n\t _createClass(Typed, [{\n\t key: 'toggle',\n\t value: function toggle() {\n\t this.pause.status ? this.start() : this.stop();\n\t }\n\t\n\t /**\n\t * Stop typing / backspacing and enable cursor blinking\n\t * @public\n\t */\n\t }, {\n\t key: 'stop',\n\t value: function stop() {\n\t if (this.typingComplete) return;\n\t if (this.pause.status) return;\n\t this.toggleBlinking(true);\n\t this.pause.status = true;\n\t this.options.onStop(this.arrayPos, this);\n\t }\n\t\n\t /**\n\t * Start typing / backspacing after being stopped\n\t * @public\n\t */\n\t }, {\n\t key: 'start',\n\t value: function start() {\n\t if (this.typingComplete) return;\n\t if (!this.pause.status) return;\n\t this.pause.status = false;\n\t if (this.pause.typewrite) {\n\t this.typewrite(this.pause.curString, this.pause.curStrPos);\n\t } else {\n\t this.backspace(this.pause.curString, this.pause.curStrPos);\n\t }\n\t this.options.onStart(this.arrayPos, this);\n\t }\n\t\n\t /**\n\t * Destroy this instance of Typed\n\t * @public\n\t */\n\t }, {\n\t key: 'destroy',\n\t value: function destroy() {\n\t this.reset(false);\n\t this.options.onDestroy(this);\n\t }\n\t\n\t /**\n\t * Reset Typed and optionally restarts\n\t * @param {boolean} restart\n\t * @public\n\t */\n\t }, {\n\t key: 'reset',\n\t value: function reset() {\n\t var restart = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\t\n\t clearInterval(this.timeout);\n\t this.replaceText('');\n\t if (this.cursor && this.cursor.parentNode) {\n\t this.cursor.parentNode.removeChild(this.cursor);\n\t this.cursor = null;\n\t }\n\t this.strPos = 0;\n\t this.arrayPos = 0;\n\t this.curLoop = 0;\n\t if (restart) {\n\t this.insertCursor();\n\t this.options.onReset(this);\n\t this.begin();\n\t }\n\t }\n\t\n\t /**\n\t * Begins the typing animation\n\t * @private\n\t */\n\t }, {\n\t key: 'begin',\n\t value: function begin() {\n\t var _this = this;\n\t\n\t this.options.onBegin(this);\n\t this.typingComplete = false;\n\t this.shuffleStringsIfNeeded(this);\n\t this.insertCursor();\n\t if (this.bindInputFocusEvents) this.bindFocusEvents();\n\t this.timeout = setTimeout(function () {\n\t // Check if there is some text in the element, if yes start by backspacing the default message\n\t if (!_this.currentElContent || _this.currentElContent.length === 0) {\n\t _this.typewrite(_this.strings[_this.sequence[_this.arrayPos]], _this.strPos);\n\t } else {\n\t // Start typing\n\t _this.backspace(_this.currentElContent, _this.currentElContent.length);\n\t }\n\t }, this.startDelay);\n\t }\n\t\n\t /**\n\t * Called for each character typed\n\t * @param {string} curString the current string in the strings array\n\t * @param {number} curStrPos the current position in the curString\n\t * @private\n\t */\n\t }, {\n\t key: 'typewrite',\n\t value: function typewrite(curString, curStrPos) {\n\t var _this2 = this;\n\t\n\t if (this.fadeOut && this.el.classList.contains(this.fadeOutClass)) {\n\t this.el.classList.remove(this.fadeOutClass);\n\t if (this.cursor) this.cursor.classList.remove(this.fadeOutClass);\n\t }\n\t\n\t var humanize = this.humanizer(this.typeSpeed);\n\t var numChars = 1;\n\t\n\t if (this.pause.status === true) {\n\t this.setPauseStatus(curString, curStrPos, true);\n\t return;\n\t }\n\t\n\t // contain typing function in a timeout humanize'd delay\n\t this.timeout = setTimeout(function () {\n\t // skip over any HTML chars\n\t curStrPos = _htmlParserJs.htmlParser.typeHtmlChars(curString, curStrPos, _this2);\n\t\n\t var pauseTime = 0;\n\t var substr = curString.substr(curStrPos);\n\t // check for an escape character before a pause value\n\t // format: \\^\\d+ .. eg: ^1000 .. should be able to print the ^ too using ^^\n\t // single ^ are removed from string\n\t if (substr.charAt(0) === '^') {\n\t if (/^\\^\\d+/.test(substr)) {\n\t var skip = 1; // skip at least 1\n\t substr = /\\d+/.exec(substr)[0];\n\t skip += substr.length;\n\t pauseTime = parseInt(substr);\n\t _this2.temporaryPause = true;\n\t _this2.options.onTypingPaused(_this2.arrayPos, _this2);\n\t // strip out the escape character and pause value so they're not printed\n\t curString = curString.substring(0, curStrPos) + curString.substring(curStrPos + skip);\n\t _this2.toggleBlinking(true);\n\t }\n\t }\n\t\n\t // check for skip characters formatted as\n\t // \"this is a `string to print NOW` ...\"\n\t if (substr.charAt(0) === '`') {\n\t while (curString.substr(curStrPos + numChars).charAt(0) !== '`') {\n\t numChars++;\n\t if (curStrPos + numChars > curString.length) break;\n\t }\n\t // strip out the escape characters and append all the string in between\n\t var stringBeforeSkip = curString.substring(0, curStrPos);\n\t var stringSkipped = curString.substring(stringBeforeSkip.length + 1, curStrPos + numChars);\n\t var stringAfterSkip = curString.substring(curStrPos + numChars + 1);\n\t curString = stringBeforeSkip + stringSkipped + stringAfterSkip;\n\t numChars--;\n\t }\n\t\n\t // timeout for any pause after a character\n\t _this2.timeout = setTimeout(function () {\n\t // Accounts for blinking while paused\n\t _this2.toggleBlinking(false);\n\t\n\t // We're done with this sentence!\n\t if (curStrPos >= curString.length) {\n\t _this2.doneTyping(curString, curStrPos);\n\t } else {\n\t _this2.keepTyping(curString, curStrPos, numChars);\n\t }\n\t // end of character pause\n\t if (_this2.temporaryPause) {\n\t _this2.temporaryPause = false;\n\t _this2.options.onTypingResumed(_this2.arrayPos, _this2);\n\t }\n\t }, pauseTime);\n\t\n\t // humanized value for typing\n\t }, humanize);\n\t }\n\t\n\t /**\n\t * Continue to the next string & begin typing\n\t * @param {string} curString the current string in the strings array\n\t * @param {number} curStrPos the current position in the curString\n\t * @private\n\t */\n\t }, {\n\t key: 'keepTyping',\n\t value: function keepTyping(curString, curStrPos, numChars) {\n\t // call before functions if applicable\n\t if (curStrPos === 0) {\n\t this.toggleBlinking(false);\n\t this.options.preStringTyped(this.arrayPos, this);\n\t }\n\t // start typing each new char into existing string\n\t // curString: arg, this.el.html: original text inside element\n\t curStrPos += numChars;\n\t var nextString = curString.substr(0, curStrPos);\n\t this.replaceText(nextString);\n\t // loop the function\n\t this.typewrite(curString, curStrPos);\n\t }\n\t\n\t /**\n\t * We're done typing the current string\n\t * @param {string} curString the current string in the strings array\n\t * @param {number} curStrPos the current position in the curString\n\t * @private\n\t */\n\t }, {\n\t key: 'doneTyping',\n\t value: function doneTyping(curString, curStrPos) {\n\t var _this3 = this;\n\t\n\t // fires callback function\n\t this.options.onStringTyped(this.arrayPos, this);\n\t this.toggleBlinking(true);\n\t // is this the final string\n\t if (this.arrayPos === this.strings.length - 1) {\n\t // callback that occurs on the last typed string\n\t this.complete();\n\t // quit if we wont loop back\n\t if (this.loop === false || this.curLoop === this.loopCount) {\n\t return;\n\t }\n\t }\n\t this.timeout = setTimeout(function () {\n\t _this3.backspace(curString, curStrPos);\n\t }, this.backDelay);\n\t }\n\t\n\t /**\n\t * Backspaces 1 character at a time\n\t * @param {string} curString the current string in the strings array\n\t * @param {number} curStrPos the current position in the curString\n\t * @private\n\t */\n\t }, {\n\t key: 'backspace',\n\t value: function backspace(curString, curStrPos) {\n\t var _this4 = this;\n\t\n\t if (this.pause.status === true) {\n\t this.setPauseStatus(curString, curStrPos, false);\n\t return;\n\t }\n\t if (this.fadeOut) return this.initFadeOut();\n\t\n\t this.toggleBlinking(false);\n\t var humanize = this.humanizer(this.backSpeed);\n\t\n\t this.timeout = setTimeout(function () {\n\t curStrPos = _htmlParserJs.htmlParser.backSpaceHtmlChars(curString, curStrPos, _this4);\n\t // replace text with base text + typed characters\n\t var curStringAtPosition = curString.substr(0, curStrPos);\n\t _this4.replaceText(curStringAtPosition);\n\t\n\t // if smartBack is enabled\n\t if (_this4.smartBackspace) {\n\t // the remaining part of the current string is equal of the same part of the new string\n\t var nextString = _this4.strings[_this4.arrayPos + 1];\n\t if (nextString && curStringAtPosition === nextString.substr(0, curStrPos)) {\n\t _this4.stopNum = curStrPos;\n\t } else {\n\t _this4.stopNum = 0;\n\t }\n\t }\n\t\n\t // if the number (id of character in current string) is\n\t // less than the stop number, keep going\n\t if (curStrPos > _this4.stopNum) {\n\t // subtract characters one by one\n\t curStrPos--;\n\t // loop the function\n\t _this4.backspace(curString, curStrPos);\n\t } else if (curStrPos <= _this4.stopNum) {\n\t // if the stop number has been reached, increase\n\t // array position to next string\n\t _this4.arrayPos++;\n\t // When looping, begin at the beginning after backspace complete\n\t if (_this4.arrayPos === _this4.strings.length) {\n\t _this4.arrayPos = 0;\n\t _this4.options.onLastStringBackspaced();\n\t _this4.shuffleStringsIfNeeded();\n\t _this4.begin();\n\t } else {\n\t _this4.typewrite(_this4.strings[_this4.sequence[_this4.arrayPos]], curStrPos);\n\t }\n\t }\n\t // humanized value for typing\n\t }, humanize);\n\t }\n\t\n\t /**\n\t * Full animation is complete\n\t * @private\n\t */\n\t }, {\n\t key: 'complete',\n\t value: function complete() {\n\t this.options.onComplete(this);\n\t if (this.loop) {\n\t this.curLoop++;\n\t } else {\n\t this.typingComplete = true;\n\t }\n\t }\n\t\n\t /**\n\t * Has the typing been stopped\n\t * @param {string} curString the current string in the strings array\n\t * @param {number} curStrPos the current position in the curString\n\t * @param {boolean} isTyping\n\t * @private\n\t */\n\t }, {\n\t key: 'setPauseStatus',\n\t value: function setPauseStatus(curString, curStrPos, isTyping) {\n\t this.pause.typewrite = isTyping;\n\t this.pause.curString = curString;\n\t this.pause.curStrPos = curStrPos;\n\t }\n\t\n\t /**\n\t * Toggle the blinking cursor\n\t * @param {boolean} isBlinking\n\t * @private\n\t */\n\t }, {\n\t key: 'toggleBlinking',\n\t value: function toggleBlinking(isBlinking) {\n\t if (!this.cursor) return;\n\t // if in paused state, don't toggle blinking a 2nd time\n\t if (this.pause.status) return;\n\t if (this.cursorBlinking === isBlinking) return;\n\t this.cursorBlinking = isBlinking;\n\t if (isBlinking) {\n\t this.cursor.classList.add('typed-cursor--blink');\n\t } else {\n\t this.cursor.classList.remove('typed-cursor--blink');\n\t }\n\t }\n\t\n\t /**\n\t * Speed in MS to type\n\t * @param {number} speed\n\t * @private\n\t */\n\t }, {\n\t key: 'humanizer',\n\t value: function humanizer(speed) {\n\t return Math.round(Math.random() * speed / 2) + speed;\n\t }\n\t\n\t /**\n\t * Shuffle the sequence of the strings array\n\t * @private\n\t */\n\t }, {\n\t key: 'shuffleStringsIfNeeded',\n\t value: function shuffleStringsIfNeeded() {\n\t if (!this.shuffle) return;\n\t this.sequence = this.sequence.sort(function () {\n\t return Math.random() - 0.5;\n\t });\n\t }\n\t\n\t /**\n\t * Adds a CSS class to fade out current string\n\t * @private\n\t */\n\t }, {\n\t key: 'initFadeOut',\n\t value: function initFadeOut() {\n\t var _this5 = this;\n\t\n\t this.el.className += ' ' + this.fadeOutClass;\n\t if (this.cursor) this.cursor.className += ' ' + this.fadeOutClass;\n\t return setTimeout(function () {\n\t _this5.arrayPos++;\n\t _this5.replaceText('');\n\t\n\t // Resets current string if end of loop reached\n\t if (_this5.strings.length > _this5.arrayPos) {\n\t _this5.typewrite(_this5.strings[_this5.sequence[_this5.arrayPos]], 0);\n\t } else {\n\t _this5.typewrite(_this5.strings[0], 0);\n\t _this5.arrayPos = 0;\n\t }\n\t }, this.fadeOutDelay);\n\t }\n\t\n\t /**\n\t * Replaces current text in the HTML element\n\t * depending on element type\n\t * @param {string} str\n\t * @private\n\t */\n\t }, {\n\t key: 'replaceText',\n\t value: function replaceText(str) {\n\t if (this.attr) {\n\t this.el.setAttribute(this.attr, str);\n\t } else {\n\t if (this.isInput) {\n\t this.el.value = str;\n\t } else if (this.contentType === 'html') {\n\t this.el.innerHTML = str;\n\t } else {\n\t this.el.textContent = str;\n\t }\n\t }\n\t }\n\t\n\t /**\n\t * If using input elements, bind focus in order to\n\t * start and stop the animation\n\t * @private\n\t */\n\t }, {\n\t key: 'bindFocusEvents',\n\t value: function bindFocusEvents() {\n\t var _this6 = this;\n\t\n\t if (!this.isInput) return;\n\t this.el.addEventListener('focus', function (e) {\n\t _this6.stop();\n\t });\n\t this.el.addEventListener('blur', function (e) {\n\t if (_this6.el.value && _this6.el.value.length !== 0) {\n\t return;\n\t }\n\t _this6.start();\n\t });\n\t }\n\t\n\t /**\n\t * On init, insert the cursor element\n\t * @private\n\t */\n\t }, {\n\t key: 'insertCursor',\n\t value: function insertCursor() {\n\t if (!this.showCursor) return;\n\t if (this.cursor) return;\n\t this.cursor = document.createElement('span');\n\t this.cursor.className = 'typed-cursor';\n\t this.cursor.setAttribute('aria-hidden', true);\n\t this.cursor.innerHTML = this.cursorChar;\n\t this.el.parentNode && this.el.parentNode.insertBefore(this.cursor, this.el.nextSibling);\n\t }\n\t }]);\n\t\n\t return Typed;\n\t})();\n\t\n\texports['default'] = Typed;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _defaultsJs = __webpack_require__(2);\n\t\n\tvar _defaultsJs2 = _interopRequireDefault(_defaultsJs);\n\t\n\t/**\n\t * Initialize the Typed object\n\t */\n\t\n\tvar Initializer = (function () {\n\t function Initializer() {\n\t _classCallCheck(this, Initializer);\n\t }\n\t\n\t _createClass(Initializer, [{\n\t key: 'load',\n\t\n\t /**\n\t * Load up defaults & options on the Typed instance\n\t * @param {Typed} self instance of Typed\n\t * @param {object} options options object\n\t * @param {string} elementId HTML element ID _OR_ instance of HTML element\n\t * @private\n\t */\n\t\n\t value: function load(self, options, elementId) {\n\t // chosen element to manipulate text\n\t if (typeof elementId === 'string') {\n\t self.el = document.querySelector(elementId);\n\t } else {\n\t self.el = elementId;\n\t }\n\t\n\t self.options = _extends({}, _defaultsJs2['default'], options);\n\t\n\t // attribute to type into\n\t self.isInput = self.el.tagName.toLowerCase() === 'input';\n\t self.attr = self.options.attr;\n\t self.bindInputFocusEvents = self.options.bindInputFocusEvents;\n\t\n\t // show cursor\n\t self.showCursor = self.isInput ? false : self.options.showCursor;\n\t\n\t // custom cursor\n\t self.cursorChar = self.options.cursorChar;\n\t\n\t // Is the cursor blinking\n\t self.cursorBlinking = true;\n\t\n\t // text content of element\n\t self.elContent = self.attr ? self.el.getAttribute(self.attr) : self.el.textContent;\n\t\n\t // html or plain text\n\t self.contentType = self.options.contentType;\n\t\n\t // typing speed\n\t self.typeSpeed = self.options.typeSpeed;\n\t\n\t // add a delay before typing starts\n\t self.startDelay = self.options.startDelay;\n\t\n\t // backspacing speed\n\t self.backSpeed = self.options.backSpeed;\n\t\n\t // only backspace what doesn't match the previous string\n\t self.smartBackspace = self.options.smartBackspace;\n\t\n\t // amount of time to wait before backspacing\n\t self.backDelay = self.options.backDelay;\n\t\n\t // Fade out instead of backspace\n\t self.fadeOut = self.options.fadeOut;\n\t self.fadeOutClass = self.options.fadeOutClass;\n\t self.fadeOutDelay = self.options.fadeOutDelay;\n\t\n\t // variable to check whether typing is currently paused\n\t self.isPaused = false;\n\t\n\t // input strings of text\n\t self.strings = self.options.strings.map(function (s) {\n\t return s.trim();\n\t });\n\t\n\t // div containing strings\n\t if (typeof self.options.stringsElement === 'string') {\n\t self.stringsElement = document.querySelector(self.options.stringsElement);\n\t } else {\n\t self.stringsElement = self.options.stringsElement;\n\t }\n\t\n\t if (self.stringsElement) {\n\t self.strings = [];\n\t self.stringsElement.style.display = 'none';\n\t var strings = Array.prototype.slice.apply(self.stringsElement.children);\n\t var stringsLength = strings.length;\n\t\n\t if (stringsLength) {\n\t for (var i = 0; i < stringsLength; i += 1) {\n\t var stringEl = strings[i];\n\t self.strings.push(stringEl.innerHTML.trim());\n\t }\n\t }\n\t }\n\t\n\t // character number position of current string\n\t self.strPos = 0;\n\t\n\t // current array position\n\t self.arrayPos = 0;\n\t\n\t // index of string to stop backspacing on\n\t self.stopNum = 0;\n\t\n\t // Looping logic\n\t self.loop = self.options.loop;\n\t self.loopCount = self.options.loopCount;\n\t self.curLoop = 0;\n\t\n\t // shuffle the strings\n\t self.shuffle = self.options.shuffle;\n\t // the order of strings\n\t self.sequence = [];\n\t\n\t self.pause = {\n\t status: false,\n\t typewrite: true,\n\t curString: '',\n\t curStrPos: 0\n\t };\n\t\n\t // When the typing is complete (when not looped)\n\t self.typingComplete = false;\n\t\n\t // Set the order in which the strings are typed\n\t for (var i in self.strings) {\n\t self.sequence[i] = i;\n\t }\n\t\n\t // If there is some text in the element\n\t self.currentElContent = this.getCurrentElContent(self);\n\t\n\t self.autoInsertCss = self.options.autoInsertCss;\n\t\n\t this.appendAnimationCss(self);\n\t }\n\t }, {\n\t key: 'getCurrentElContent',\n\t value: function getCurrentElContent(self) {\n\t var elContent = '';\n\t if (self.attr) {\n\t elContent = self.el.getAttribute(self.attr);\n\t } else if (self.isInput) {\n\t elContent = self.el.value;\n\t } else if (self.contentType === 'html') {\n\t elContent = self.el.innerHTML;\n\t } else {\n\t elContent = self.el.textContent;\n\t }\n\t return elContent;\n\t }\n\t }, {\n\t key: 'appendAnimationCss',\n\t value: function appendAnimationCss(self) {\n\t var cssDataName = 'data-typed-js-css';\n\t if (!self.autoInsertCss) {\n\t return;\n\t }\n\t if (!self.showCursor && !self.fadeOut) {\n\t return;\n\t }\n\t if (document.querySelector('[' + cssDataName + ']')) {\n\t return;\n\t }\n\t\n\t var css = document.createElement('style');\n\t css.type = 'text/css';\n\t css.setAttribute(cssDataName, true);\n\t\n\t var innerCss = '';\n\t if (self.showCursor) {\n\t innerCss += '\\n .typed-cursor{\\n opacity: 1;\\n }\\n .typed-cursor.typed-cursor--blink{\\n animation: typedjsBlink 0.7s infinite;\\n -webkit-animation: typedjsBlink 0.7s infinite;\\n animation: typedjsBlink 0.7s infinite;\\n }\\n @keyframes typedjsBlink{\\n 50% { opacity: 0.0; }\\n }\\n @-webkit-keyframes typedjsBlink{\\n 0% { opacity: 1; }\\n 50% { opacity: 0.0; }\\n 100% { opacity: 1; }\\n }\\n ';\n\t }\n\t if (self.fadeOut) {\n\t innerCss += '\\n .typed-fade-out{\\n opacity: 0;\\n transition: opacity .25s;\\n }\\n .typed-cursor.typed-cursor--blink.typed-fade-out{\\n -webkit-animation: 0;\\n animation: 0;\\n }\\n ';\n\t }\n\t if (css.length === 0) {\n\t return;\n\t }\n\t css.innerHTML = innerCss;\n\t document.body.appendChild(css);\n\t }\n\t }]);\n\t\n\t return Initializer;\n\t})();\n\t\n\texports['default'] = Initializer;\n\tvar initializer = new Initializer();\n\texports.initializer = initializer;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n\t/**\n\t * Defaults & options\n\t * @returns {object} Typed defaults & options\n\t * @public\n\t */\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t value: true\n\t});\n\tvar defaults = {\n\t /**\n\t * @property {array} strings strings to be typed\n\t * @property {string} stringsElement ID of element containing string children\n\t */\n\t strings: ['These are the default values...', 'You know what you should do?', 'Use your own!', 'Have a great day!'],\n\t stringsElement: null,\n\t\n\t /**\n\t * @property {number} typeSpeed type speed in milliseconds\n\t */\n\t typeSpeed: 0,\n\t\n\t /**\n\t * @property {number} startDelay time before typing starts in milliseconds\n\t */\n\t startDelay: 0,\n\t\n\t /**\n\t * @property {number} backSpeed backspacing speed in milliseconds\n\t */\n\t backSpeed: 0,\n\t\n\t /**\n\t * @property {boolean} smartBackspace only backspace what doesn't match the previous string\n\t */\n\t smartBackspace: true,\n\t\n\t /**\n\t * @property {boolean} shuffle shuffle the strings\n\t */\n\t shuffle: false,\n\t\n\t /**\n\t * @property {number} backDelay time before backspacing in milliseconds\n\t */\n\t backDelay: 700,\n\t\n\t /**\n\t * @property {boolean} fadeOut Fade out instead of backspace\n\t * @property {string} fadeOutClass css class for fade animation\n\t * @property {boolean} fadeOutDelay Fade out delay in milliseconds\n\t */\n\t fadeOut: false,\n\t fadeOutClass: 'typed-fade-out',\n\t fadeOutDelay: 500,\n\t\n\t /**\n\t * @property {boolean} loop loop strings\n\t * @property {number} loopCount amount of loops\n\t */\n\t loop: false,\n\t loopCount: Infinity,\n\t\n\t /**\n\t * @property {boolean} showCursor show cursor\n\t * @property {string} cursorChar character for cursor\n\t * @property {boolean} autoInsertCss insert CSS for cursor and fadeOut into HTML \n\t */\n\t showCursor: true,\n\t cursorChar: '|',\n\t autoInsertCss: true,\n\t\n\t /**\n\t * @property {string} attr attribute for typing\n\t * Ex: input placeholder, value, or just HTML text\n\t */\n\t attr: null,\n\t\n\t /**\n\t * @property {boolean} bindInputFocusEvents bind to focus and blur if el is text input\n\t */\n\t bindInputFocusEvents: false,\n\t\n\t /**\n\t * @property {string} contentType 'html' or 'null' for plaintext\n\t */\n\t contentType: 'html',\n\t\n\t /**\n\t * Before it begins typing\n\t * @param {Typed} self\n\t */\n\t onBegin: function onBegin(self) {},\n\t\n\t /**\n\t * All typing is complete\n\t * @param {Typed} self\n\t */\n\t onComplete: function onComplete(self) {},\n\t\n\t /**\n\t * Before each string is typed\n\t * @param {number} arrayPos\n\t * @param {Typed} self\n\t */\n\t preStringTyped: function preStringTyped(arrayPos, self) {},\n\t\n\t /**\n\t * After each string is typed\n\t * @param {number} arrayPos\n\t * @param {Typed} self\n\t */\n\t onStringTyped: function onStringTyped(arrayPos, self) {},\n\t\n\t /**\n\t * During looping, after last string is typed\n\t * @param {Typed} self\n\t */\n\t onLastStringBackspaced: function onLastStringBackspaced(self) {},\n\t\n\t /**\n\t * Typing has been stopped\n\t * @param {number} arrayPos\n\t * @param {Typed} self\n\t */\n\t onTypingPaused: function onTypingPaused(arrayPos, self) {},\n\t\n\t /**\n\t * Typing has been started after being stopped\n\t * @param {number} arrayPos\n\t * @param {Typed} self\n\t */\n\t onTypingResumed: function onTypingResumed(arrayPos, self) {},\n\t\n\t /**\n\t * After reset\n\t * @param {Typed} self\n\t */\n\t onReset: function onReset(self) {},\n\t\n\t /**\n\t * After stop\n\t * @param {number} arrayPos\n\t * @param {Typed} self\n\t */\n\t onStop: function onStop(arrayPos, self) {},\n\t\n\t /**\n\t * After start\n\t * @param {number} arrayPos\n\t * @param {Typed} self\n\t */\n\t onStart: function onStart(arrayPos, self) {},\n\t\n\t /**\n\t * After destroy\n\t * @param {Typed} self\n\t */\n\t onDestroy: function onDestroy(self) {}\n\t};\n\t\n\texports['default'] = defaults;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n\t/**\n\t * TODO: These methods can probably be combined somehow\n\t * Parse HTML tags & HTML Characters\n\t */\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t value: true\n\t});\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar HTMLParser = (function () {\n\t function HTMLParser() {\n\t _classCallCheck(this, HTMLParser);\n\t }\n\t\n\t _createClass(HTMLParser, [{\n\t key: 'typeHtmlChars',\n\t\n\t /**\n\t * Type HTML tags & HTML Characters\n\t * @param {string} curString Current string\n\t * @param {number} curStrPos Position in current string\n\t * @param {Typed} self instance of Typed\n\t * @returns {number} a new string position\n\t * @private\n\t */\n\t\n\t value: function typeHtmlChars(curString, curStrPos, self) {\n\t if (self.contentType !== 'html') return curStrPos;\n\t var curChar = curString.substr(curStrPos).charAt(0);\n\t if (curChar === '<' || curChar === '&') {\n\t var endTag = '';\n\t if (curChar === '<') {\n\t endTag = '>';\n\t } else {\n\t endTag = ';';\n\t }\n\t while (curString.substr(curStrPos + 1).charAt(0) !== endTag) {\n\t curStrPos++;\n\t if (curStrPos + 1 > curString.length) {\n\t break;\n\t }\n\t }\n\t curStrPos++;\n\t }\n\t return curStrPos;\n\t }\n\t\n\t /**\n\t * Backspace HTML tags and HTML Characters\n\t * @param {string} curString Current string\n\t * @param {number} curStrPos Position in current string\n\t * @param {Typed} self instance of Typed\n\t * @returns {number} a new string position\n\t * @private\n\t */\n\t }, {\n\t key: 'backSpaceHtmlChars',\n\t value: function backSpaceHtmlChars(curString, curStrPos, self) {\n\t if (self.contentType !== 'html') return curStrPos;\n\t var curChar = curString.substr(curStrPos).charAt(0);\n\t if (curChar === '>' || curChar === ';') {\n\t var endTag = '';\n\t if (curChar === '>') {\n\t endTag = '<';\n\t } else {\n\t endTag = '&';\n\t }\n\t while (curString.substr(curStrPos - 1).charAt(0) !== endTag) {\n\t curStrPos--;\n\t if (curStrPos < 0) {\n\t break;\n\t }\n\t }\n\t curStrPos--;\n\t }\n\t return curStrPos;\n\t }\n\t }]);\n\t\n\t return HTMLParser;\n\t})();\n\t\n\texports['default'] = HTMLParser;\n\tvar htmlParser = new HTMLParser();\n\texports.htmlParser = htmlParser;\n\n/***/ })\n/******/ ])\n});\n;"],"names":["factory","modules","installedModules","moduleId","exports","module","id","loaded","call","m","c","p","Object","defineProperty","value","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","key","Constructor","protoProps","staticProps","prototype","_initializerJs","_htmlParserJs","Typed","elementId","options","instance","TypeError","_classCallCheck","this","initializer","load","begin","pause","status","start","stop","typingComplete","toggleBlinking","onStop","arrayPos","typewrite","curString","curStrPos","backspace","onStart","reset","onDestroy","restart","arguments","undefined","clearInterval","timeout","replaceText","cursor","parentNode","removeChild","strPos","curLoop","insertCursor","onReset","_this","onBegin","shuffleStringsIfNeeded","bindInputFocusEvents","bindFocusEvents","setTimeout","currentElContent","strings","sequence","startDelay","_this2","fadeOut","el","classList","contains","fadeOutClass","remove","humanize","humanizer","typeSpeed","numChars","htmlParser","typeHtmlChars","pauseTime","substr","charAt","test","skip","exec","parseInt","temporaryPause","onTypingPaused","substring","stringBeforeSkip","stringSkipped","stringAfterSkip","doneTyping","keepTyping","onTypingResumed","setPauseStatus","preStringTyped","nextString","_this3","onStringTyped","complete","loop","loopCount","backDelay","_this4","initFadeOut","backSpeed","backSpaceHtmlChars","curStringAtPosition","smartBackspace","stopNum","onLastStringBackspaced","onComplete","isTyping","isBlinking","cursorBlinking","add","speed","Math","round","random","shuffle","sort","_this5","className","fadeOutDelay","str","attr","setAttribute","isInput","contentType","innerHTML","textContent","_this6","addEventListener","e","showCursor","document","createElement","cursorChar","insertBefore","nextSibling","obj","_extends","assign","source","hasOwnProperty","_defaultsJs","_defaultsJs2","__esModule","Initializer","self","querySelector","tagName","toLowerCase","elContent","getAttribute","isPaused","map","s","trim","stringsElement","style","display","Array","slice","apply","children","stringsLength","stringEl","push","getCurrentElContent","autoInsertCss","appendAnimationCss","cssDataName","css","type","innerCss","body","appendChild","defaults","Infinity","HTMLParser","curChar","endTag"],"sourceRoot":""}